@swisspost/design-system-components 9.0.1 → 10.0.0-next.38

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 (568) hide show
  1. package/dist/.config/bindings.angular.js +4 -0
  2. package/dist/cjs/breakpoints-cdf1b747.js +59 -0
  3. package/dist/cjs/check-non-empty-bd99d236.js +15 -0
  4. package/dist/cjs/check-one-of-75d270b5.js +13 -0
  5. package/dist/cjs/check-type-cdbf6d29.js +21 -0
  6. package/dist/cjs/check-url-220a286c.js +19 -0
  7. package/dist/cjs/event-guard-efabc84f.js +47 -0
  8. package/dist/cjs/fade-72d5ef55.js +14 -0
  9. package/dist/cjs/get-root-8102fecd.js +17 -0
  10. package/dist/cjs/index-23e36ff7.js +37 -0
  11. package/dist/cjs/{index-e1f32cce.js → index-b60129c4.js} +35 -15
  12. package/dist/cjs/index.browser-4af21c17.js +16 -0
  13. package/dist/cjs/index.cjs.js +57 -28
  14. package/dist/cjs/loader.cjs.js +2 -2
  15. package/dist/cjs/long-press-event-6e62d113.js +266 -0
  16. package/dist/cjs/{package-93f142ae.js → package-3e61e6f3.js} +1 -1
  17. package/dist/cjs/{post-accordion-60af96cf.js → post-accordion-e54524be.js} +11 -12
  18. package/dist/cjs/post-accordion-item-86f11a16.js +64 -0
  19. package/dist/cjs/post-accordion-item.cjs.entry.js +10 -6
  20. package/dist/cjs/post-accordion.cjs.entry.js +6 -4
  21. package/dist/cjs/post-avatar-22bfd12e.js +145 -0
  22. package/dist/cjs/post-avatar.cjs.entry.js +14 -0
  23. package/dist/cjs/post-back-to-top-f682ea05.js +96 -0
  24. package/dist/cjs/post-back-to-top.cjs.entry.js +16 -0
  25. package/dist/cjs/post-banner-5c749a94.js +92 -0
  26. package/dist/cjs/post-banner.cjs.entry.js +20 -0
  27. package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +18 -0
  28. package/dist/cjs/post-breadcrumbs-76f55ae5.js +120 -0
  29. package/dist/cjs/post-breadcrumbs.cjs.entry.js +13 -0
  30. package/dist/cjs/post-card-control-161a7102.js +269 -0
  31. package/dist/cjs/post-card-control.cjs.entry.js +6 -5
  32. package/dist/cjs/post-closebutton_15.cjs.entry.js +36 -0
  33. package/dist/cjs/{post-collapsible-trigger-3de8fe4e.js → post-collapsible-trigger-6cdf4481.js} +62 -76
  34. package/dist/cjs/post-collapsible_2.cjs.entry.js +11 -7
  35. package/dist/cjs/post-components.cjs.js +2 -2
  36. package/dist/cjs/post-footer-15d78645.js +38 -0
  37. package/dist/cjs/post-footer.cjs.entry.js +12 -0
  38. package/dist/cjs/post-linkarea-095d1928.js +30 -0
  39. package/dist/cjs/post-linkarea.cjs.entry.js +11 -0
  40. package/dist/cjs/post-menu-item-387e079b.js +68 -0
  41. package/dist/cjs/post-popover-388c8091.js +135 -0
  42. package/dist/cjs/post-popover.cjs.entry.js +4 -3
  43. package/dist/cjs/{post-rating-21f9c46d.js → post-rating-246e4d89.js} +4 -4
  44. package/dist/cjs/post-rating.cjs.entry.js +3 -3
  45. package/dist/cjs/post-tab-header-0e9d0e06.js +34 -0
  46. package/dist/cjs/post-tab-header.cjs.entry.js +6 -4
  47. package/dist/cjs/{post-tab-panel-dd58f425.js → post-tab-panel-f952714f.js} +5 -4
  48. package/dist/cjs/post-tab-panel.cjs.entry.js +4 -3
  49. package/dist/cjs/{post-tabs-83191b9a.js → post-tabs-97c30d81.js} +14 -16
  50. package/dist/cjs/post-tabs.cjs.entry.js +5 -4
  51. package/dist/cjs/post-tag-58003cf0.js +47 -0
  52. package/dist/cjs/post-tag.cjs.entry.js +3 -3
  53. package/dist/cjs/post-togglebutton-87c984d8.js +4494 -0
  54. package/dist/cjs/{post-tooltip-782f020b.js → post-tooltip-28e7711a.js} +10 -6
  55. package/dist/cjs/{post-tooltip-trigger-b2aeb636.js → post-tooltip-trigger-cbc53d14.js} +17 -280
  56. package/dist/cjs/post-tooltip-trigger.cjs.entry.js +5 -4
  57. package/dist/cjs/post-tooltip.cjs.entry.js +5 -4
  58. package/dist/cjs/slide-cd1f09b3.js +28 -0
  59. package/dist/collection/animations/collapse.js +8 -6
  60. package/dist/collection/animations/fade.js +6 -2
  61. package/dist/collection/animations/slide.js +23 -0
  62. package/dist/collection/collection-manifest.json +22 -3
  63. package/dist/collection/components/post-accordion/post-accordion.css +1 -1
  64. package/dist/collection/components/post-accordion/post-accordion.js +8 -10
  65. package/dist/collection/components/post-accordion-item/post-accordion-item.css +1 -1
  66. package/dist/collection/components/post-accordion-item/post-accordion-item.js +30 -16
  67. package/dist/collection/components/post-avatar/post-avatar.css +1 -0
  68. package/dist/collection/components/post-avatar/post-avatar.js +233 -0
  69. package/dist/collection/components/post-back-to-top/post-back-to-top.css +1 -0
  70. package/dist/collection/components/post-back-to-top/post-back-to-top.js +127 -0
  71. package/dist/collection/components/post-banner/banner-types.js +1 -0
  72. package/dist/collection/components/post-banner/post-banner.css +1 -0
  73. package/dist/collection/components/{post-alert/post-alert.js → post-banner/post-banner.js} +44 -72
  74. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.css +1 -0
  75. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +96 -0
  76. package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.css +1 -0
  77. package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.js +160 -0
  78. package/dist/collection/components/post-card-control/post-card-control.css +1 -31
  79. package/dist/collection/components/post-card-control/post-card-control.js +20 -24
  80. package/dist/collection/components/post-closebutton/post-closebutton.css +1 -0
  81. package/dist/collection/components/post-closebutton/post-closebutton.js +23 -0
  82. package/dist/collection/components/post-collapsible/post-collapsible.css +1 -1
  83. package/dist/collection/components/post-collapsible/post-collapsible.js +6 -3
  84. package/dist/collection/components/post-collapsible-trigger/post-collapsible-trigger.js +43 -45
  85. package/dist/collection/components/post-footer/post-footer.css +1 -0
  86. package/dist/collection/components/post-footer/post-footer.js +75 -0
  87. package/dist/collection/components/post-header/post-header.css +1 -0
  88. package/dist/collection/components/post-header/post-header.js +320 -0
  89. package/dist/collection/components/post-icon/post-icon.js +58 -55
  90. package/dist/collection/components/post-language-option/post-language-option.css +1 -0
  91. package/dist/collection/components/post-language-option/post-language-option.js +237 -0
  92. package/dist/collection/components/post-language-switch/post-language-switch.css +1 -0
  93. package/dist/collection/components/post-language-switch/post-language-switch.js +186 -0
  94. package/dist/collection/components/post-language-switch/switch-variants.js +1 -0
  95. package/dist/collection/components/post-linkarea/post-linkarea.css +1 -0
  96. package/dist/collection/components/post-linkarea/post-linkarea.js +30 -0
  97. package/dist/collection/components/post-list/post-list.css +1 -0
  98. package/dist/collection/components/post-list/post-list.js +88 -0
  99. package/dist/collection/components/post-list-item/post-list-item.css +1 -0
  100. package/dist/collection/components/post-list-item/post-list-item.js +26 -0
  101. package/dist/collection/components/post-logo/post-logo.css +1 -1
  102. package/dist/collection/components/post-logo/post-logo.js +2 -2
  103. package/dist/collection/components/post-mainnavigation/post-mainnavigation.css +1 -0
  104. package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +184 -0
  105. package/dist/collection/components/post-megadropdown/post-megadropdown.css +1 -0
  106. package/dist/collection/components/post-megadropdown/post-megadropdown.js +275 -0
  107. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.css +1 -0
  108. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +133 -0
  109. package/dist/collection/components/post-menu/post-menu.css +1 -0
  110. package/dist/collection/components/post-menu/post-menu.js +294 -0
  111. package/dist/collection/components/post-menu-item/post-menu-item.js +8 -0
  112. package/dist/collection/components/post-menu-trigger/post-menu-trigger.css +1 -0
  113. package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +120 -0
  114. package/dist/collection/components/post-popover/post-popover.css +1 -31
  115. package/dist/collection/components/post-popover/post-popover.js +16 -13
  116. package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +1 -31
  117. package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +39 -6
  118. package/dist/collection/components/post-rating/post-rating.css +1 -31
  119. package/dist/collection/components/post-rating/post-rating.js +1 -1
  120. package/dist/collection/components/post-tab-header/post-tab-header.css +1 -31
  121. package/dist/collection/components/post-tab-header/post-tab-header.js +6 -5
  122. package/dist/collection/components/post-tab-panel/post-tab-panel.js +4 -3
  123. package/dist/collection/components/post-tabs/post-tabs.css +1 -1
  124. package/dist/collection/components/post-tabs/post-tabs.js +7 -15
  125. package/dist/collection/components/post-tag/post-tag.css +1 -31
  126. package/dist/collection/components/post-tag/post-tag.js +2 -2
  127. package/dist/collection/components/post-togglebutton/post-togglebutton.css +1 -0
  128. package/dist/collection/components/post-togglebutton/post-togglebutton.js +74 -0
  129. package/dist/collection/components/post-tooltip/post-tooltip.css +1 -1
  130. package/dist/collection/components/post-tooltip/post-tooltip.js +6 -3
  131. package/dist/collection/components/post-tooltip-trigger/post-tooltip-trigger.js +14 -14
  132. package/dist/collection/index.js +21 -2
  133. package/dist/collection/utils/attribute-observer.js +6 -5
  134. package/dist/collection/utils/breakpoints.js +52 -0
  135. package/dist/collection/utils/component-on-ready.js +4 -4
  136. package/dist/collection/utils/debounce.js +2 -1
  137. package/dist/collection/utils/environment.js +2 -0
  138. package/dist/collection/utils/event-guard.js +43 -0
  139. package/dist/collection/utils/get-focusable-children.js +33 -0
  140. package/dist/collection/utils/get-root.js +6 -1
  141. package/dist/collection/utils/index.js +5 -0
  142. package/dist/collection/utils/is-motion-reduced.js +2 -1
  143. package/dist/collection/utils/property-checkers/check-non-empty.js +6 -2
  144. package/dist/collection/utils/property-checkers/check-one-of.js +8 -3
  145. package/dist/collection/utils/property-checkers/check-pattern.js +8 -3
  146. package/dist/collection/utils/property-checkers/check-type.js +11 -6
  147. package/dist/collection/utils/property-checkers/check-url.js +11 -6
  148. package/dist/collection/utils/property-checkers/empty-or.js +5 -2
  149. package/dist/collection/utils/sass-export.js +8 -5
  150. package/dist/components/breakpoints.js +56 -0
  151. package/dist/components/check-non-empty.js +6 -2
  152. package/dist/components/check-one-of.js +8 -3
  153. package/dist/components/check-type.js +11 -6
  154. package/dist/components/event-guard.js +45 -0
  155. package/dist/components/fade.js +6 -2
  156. package/dist/components/get-focusable-children.js +35 -0
  157. package/dist/components/get-root.js +15 -0
  158. package/dist/components/index.browser.js +14 -0
  159. package/dist/components/index.js +21 -2
  160. package/dist/components/index2.js +25 -12
  161. package/dist/components/long-press-event.js +264 -0
  162. package/dist/components/package.js +1 -1
  163. package/dist/components/post-accordion-item2.js +37 -18
  164. package/dist/components/post-accordion2.js +8 -9
  165. package/dist/components/post-avatar.d.ts +11 -0
  166. package/dist/components/post-avatar.js +6 -0
  167. package/dist/components/post-avatar2.js +170 -0
  168. package/dist/components/post-back-to-top.d.ts +11 -0
  169. package/dist/components/post-back-to-top.js +6 -0
  170. package/dist/components/post-back-to-top2.js +121 -0
  171. package/dist/components/post-banner.d.ts +11 -0
  172. package/dist/components/post-banner.js +6 -0
  173. package/dist/components/post-banner2.js +127 -0
  174. package/dist/components/post-breadcrumb-item.d.ts +11 -0
  175. package/dist/components/post-breadcrumb-item.js +6 -0
  176. package/dist/components/post-breadcrumb-item2.js +82 -0
  177. package/dist/components/post-breadcrumbs.d.ts +11 -0
  178. package/dist/components/post-breadcrumbs.js +6 -0
  179. package/dist/components/post-breadcrumbs2.js +177 -0
  180. package/dist/components/post-card-control2.js +16 -19
  181. package/dist/components/post-closebutton.d.ts +11 -0
  182. package/dist/components/post-closebutton.js +6 -0
  183. package/dist/components/post-closebutton2.js +39 -0
  184. package/dist/components/post-collapsible-trigger2.js +47 -64
  185. package/dist/components/post-collapsible2.js +17 -12
  186. package/dist/components/post-footer.d.ts +11 -0
  187. package/dist/components/post-footer.js +6 -0
  188. package/dist/components/post-footer2.js +78 -0
  189. package/dist/components/post-header.d.ts +11 -0
  190. package/dist/components/post-header.js +6 -0
  191. package/dist/components/post-header2.js +399 -0
  192. package/dist/components/post-icon2.js +59 -55
  193. package/dist/components/post-language-option.d.ts +11 -0
  194. package/dist/components/post-language-option.js +6 -0
  195. package/dist/components/post-language-option2.js +103 -0
  196. package/dist/components/post-language-switch.d.ts +11 -0
  197. package/dist/components/post-language-switch.js +6 -0
  198. package/dist/components/post-language-switch2.js +145 -0
  199. package/dist/components/post-linkarea.d.ts +11 -0
  200. package/dist/components/post-linkarea.js +6 -0
  201. package/dist/components/post-linkarea2.js +43 -0
  202. package/dist/components/post-list-item.d.ts +11 -0
  203. package/dist/components/post-list-item.js +6 -0
  204. package/dist/components/post-list-item2.js +36 -0
  205. package/dist/components/{post-alert.d.ts → post-list.d.ts} +4 -4
  206. package/dist/components/post-list.js +6 -0
  207. package/dist/components/post-list2.js +54 -0
  208. package/dist/components/post-logo2.js +4 -3
  209. package/dist/components/post-mainnavigation.d.ts +11 -0
  210. package/dist/components/post-mainnavigation.js +6 -0
  211. package/dist/components/post-mainnavigation2.js +183 -0
  212. package/dist/components/post-megadropdown-trigger.d.ts +11 -0
  213. package/dist/components/post-megadropdown-trigger.js +6 -0
  214. package/dist/components/post-megadropdown-trigger2.js +121 -0
  215. package/dist/components/post-megadropdown.d.ts +11 -0
  216. package/dist/components/post-megadropdown.js +6 -0
  217. package/dist/components/post-megadropdown2.js +190 -0
  218. package/dist/components/post-menu-item.d.ts +11 -0
  219. package/dist/components/post-menu-item.js +6 -0
  220. package/dist/components/post-menu-item2.js +27 -0
  221. package/dist/components/post-menu-trigger.d.ts +11 -0
  222. package/dist/components/post-menu-trigger.js +6 -0
  223. package/dist/components/post-menu-trigger2.js +109 -0
  224. package/dist/components/post-menu.d.ts +11 -0
  225. package/dist/components/post-menu.js +6 -0
  226. package/dist/components/post-menu2.js +192 -0
  227. package/dist/components/post-popover2.js +20 -16
  228. package/dist/components/post-popovercontainer2.js +788 -73
  229. package/dist/components/post-rating2.js +2 -2
  230. package/dist/components/post-tab-header2.js +8 -6
  231. package/dist/components/post-tab-panel2.js +4 -3
  232. package/dist/components/post-tabs2.js +11 -13
  233. package/dist/components/post-tag2.js +2 -2
  234. package/dist/components/post-togglebutton.d.ts +11 -0
  235. package/dist/components/post-togglebutton.js +6 -0
  236. package/dist/components/post-togglebutton2.js +62 -0
  237. package/dist/components/post-tooltip-trigger2.js +14 -277
  238. package/dist/components/post-tooltip2.js +7 -3
  239. package/dist/components/slide.js +25 -0
  240. package/dist/docs.json +1977 -287
  241. package/dist/esm/breakpoints-7812702e.js +56 -0
  242. package/dist/esm/check-non-empty-258a56b3.js +13 -0
  243. package/dist/esm/check-one-of-0bee20f5.js +11 -0
  244. package/dist/esm/check-type-37d5d307.js +19 -0
  245. package/dist/esm/check-url-17962bc8.js +17 -0
  246. package/dist/esm/event-guard-538ee077.js +45 -0
  247. package/dist/esm/fade-1f3cacf4.js +11 -0
  248. package/dist/esm/get-root-1b1af46f.js +15 -0
  249. package/dist/esm/index-8f8fe5b0.js +32 -0
  250. package/dist/esm/{index-e1b64755.js → index-f4d19816.js} +35 -15
  251. package/dist/esm/index.browser-ff103197.js +14 -0
  252. package/dist/esm/index.js +33 -23
  253. package/dist/esm/loader.js +3 -3
  254. package/dist/esm/long-press-event-04d24397.js +264 -0
  255. package/dist/esm/package-33ac2576.js +3 -0
  256. package/dist/esm/{post-accordion-bcfe7e61.js → post-accordion-03796d13.js} +11 -12
  257. package/dist/esm/post-accordion-item-d29c49e5.js +62 -0
  258. package/dist/esm/post-accordion-item.entry.js +10 -6
  259. package/dist/esm/post-accordion.entry.js +6 -4
  260. package/dist/esm/post-avatar-639dc17a.js +143 -0
  261. package/dist/esm/post-avatar.entry.js +6 -0
  262. package/dist/esm/post-back-to-top-8099279e.js +94 -0
  263. package/dist/esm/post-back-to-top.entry.js +8 -0
  264. package/dist/esm/post-banner-54834fbf.js +90 -0
  265. package/dist/esm/post-banner.entry.js +12 -0
  266. package/dist/esm/post-breadcrumb-item_2.entry.js +9 -0
  267. package/dist/esm/post-breadcrumbs-caf56014.js +118 -0
  268. package/dist/esm/post-breadcrumbs.entry.js +5 -0
  269. package/dist/esm/post-card-control-b063586b.js +267 -0
  270. package/dist/esm/post-card-control.entry.js +6 -5
  271. package/dist/esm/post-closebutton_15.entry.js +14 -0
  272. package/dist/esm/{post-collapsible-trigger-3168178e.js → post-collapsible-trigger-727bcde1.js} +62 -76
  273. package/dist/esm/post-collapsible_2.entry.js +11 -7
  274. package/dist/esm/post-components.js +3 -3
  275. package/dist/esm/post-footer-16f1a8de.js +36 -0
  276. package/dist/esm/post-footer.entry.js +4 -0
  277. package/dist/esm/post-linkarea-4e4228fb.js +28 -0
  278. package/dist/esm/post-linkarea.entry.js +3 -0
  279. package/dist/esm/post-menu-item-e9dd8173.js +65 -0
  280. package/dist/esm/post-popover-46ede6b5.js +133 -0
  281. package/dist/esm/post-popover.entry.js +4 -3
  282. package/dist/esm/{post-rating-0fd5de37.js → post-rating-8d0d970b.js} +4 -4
  283. package/dist/esm/post-rating.entry.js +3 -3
  284. package/dist/esm/post-tab-header-8224c7c2.js +32 -0
  285. package/dist/esm/post-tab-header.entry.js +6 -4
  286. package/dist/esm/{post-tab-panel-6b1219e0.js → post-tab-panel-dfdeccd3.js} +5 -4
  287. package/dist/esm/post-tab-panel.entry.js +4 -3
  288. package/dist/esm/{post-tabs-b8ff3c5d.js → post-tabs-fabd0569.js} +14 -16
  289. package/dist/esm/post-tabs.entry.js +5 -4
  290. package/dist/esm/post-tag-13994238.js +45 -0
  291. package/dist/esm/post-tag.entry.js +3 -3
  292. package/dist/esm/post-togglebutton-87967c5b.js +4478 -0
  293. package/dist/esm/{post-tooltip-aa745743.js → post-tooltip-eecaa4c7.js} +10 -6
  294. package/dist/esm/{post-tooltip-trigger-ce0b4106.js → post-tooltip-trigger-642cbb22.js} +17 -280
  295. package/dist/esm/post-tooltip-trigger.entry.js +5 -4
  296. package/dist/esm/post-tooltip.entry.js +5 -4
  297. package/dist/esm/slide-cd2850ee.js +25 -0
  298. package/dist/post-components/index.esm.js +1 -1
  299. package/dist/post-components/p-0539071d.js +1 -0
  300. package/dist/post-components/p-0889c759.js +1 -0
  301. package/dist/post-components/p-0dcd25ab.js +1 -0
  302. package/dist/post-components/p-181c73d5.js +1 -0
  303. package/dist/post-components/p-19317b15.js +8 -0
  304. package/dist/post-components/p-1ef9415b.js +1 -0
  305. package/dist/post-components/p-24d0695f.entry.js +1 -0
  306. package/dist/post-components/p-2e50a07d.entry.js +1 -0
  307. package/dist/post-components/p-30eb4d87.js +1 -0
  308. package/dist/post-components/p-46008c18.entry.js +1 -0
  309. package/dist/post-components/p-47ab2c2b.entry.js +1 -0
  310. package/dist/post-components/p-4c049de0.entry.js +1 -0
  311. package/dist/post-components/p-4c4acc32.entry.js +1 -0
  312. package/dist/post-components/p-5d473fcd.js +1 -0
  313. package/dist/post-components/p-5d539b30.js +1 -0
  314. package/dist/post-components/p-64e3de38.js +1 -0
  315. package/dist/post-components/p-6783e509.entry.js +1 -0
  316. package/dist/post-components/p-692ba59d.js +1 -0
  317. package/dist/post-components/p-6933fb57.entry.js +1 -0
  318. package/dist/post-components/p-6b31a76a.js +1 -0
  319. package/dist/post-components/p-72197a6b.js +1 -0
  320. package/dist/post-components/p-722ffaae.js +1 -0
  321. package/dist/post-components/p-7709c14a.js +1 -0
  322. package/dist/post-components/p-77910344.entry.js +1 -0
  323. package/dist/post-components/p-80e5100e.entry.js +1 -0
  324. package/dist/post-components/p-84fbf49c.js +1 -0
  325. package/dist/post-components/p-85fdc2d3.js +1 -0
  326. package/dist/post-components/p-8c09291c.js +1 -0
  327. package/dist/post-components/p-8db32dab.js +8 -0
  328. package/dist/post-components/p-93da1a5f.js +1 -0
  329. package/dist/post-components/p-9b052461.js +1 -0
  330. package/dist/post-components/p-9b8ee310.entry.js +1 -0
  331. package/dist/post-components/{p-3eab790d.js → p-9e461613.js} +2 -2
  332. package/dist/post-components/p-9efb84d3.entry.js +1 -0
  333. package/dist/post-components/p-9fbf2f82.entry.js +1 -0
  334. package/dist/post-components/p-a07f85ee.js +1 -0
  335. package/dist/post-components/p-a25019de.js +1 -0
  336. package/dist/post-components/p-a710ee00.js +1 -0
  337. package/dist/post-components/p-b94e5b4d.entry.js +1 -0
  338. package/dist/post-components/p-c2348d3d.js +1 -0
  339. package/dist/post-components/p-c65f32b0.js +1 -0
  340. package/dist/post-components/p-c6b03446.entry.js +1 -0
  341. package/dist/post-components/p-d0dfd5f9.js +1 -0
  342. package/dist/post-components/p-d45df336.js +1 -0
  343. package/dist/post-components/p-d4890d50.entry.js +1 -0
  344. package/dist/post-components/p-d5210531.entry.js +1 -0
  345. package/dist/post-components/p-dd39c542.entry.js +1 -0
  346. package/dist/post-components/p-df6c8a4c.js +1 -0
  347. package/dist/post-components/p-e068a41e.js +1 -0
  348. package/dist/post-components/p-e585c6fe.js +1 -0
  349. package/dist/post-components/p-f2c4a48d.js +1 -0
  350. package/dist/post-components/p-f31b9b5d.entry.js +1 -0
  351. package/dist/post-components/p-f58252d5.entry.js +1 -0
  352. package/dist/post-components/p-fda767f0.js +1 -0
  353. package/dist/post-components/post-components.esm.js +1 -1
  354. package/dist/types/animations/collapse.d.ts +2 -2
  355. package/dist/types/animations/fade.d.ts +2 -2
  356. package/dist/types/animations/slide.d.ts +2 -0
  357. package/dist/types/components/post-accordion/post-accordion.d.ts +1 -1
  358. package/dist/types/components/post-accordion-item/post-accordion-item.d.ts +8 -2
  359. package/dist/types/components/post-avatar/post-avatar.d.ts +51 -0
  360. package/dist/types/components/post-back-to-top/post-back-to-top.d.ts +21 -0
  361. package/dist/types/components/post-banner/banner-types.d.ts +2 -0
  362. package/dist/types/components/post-banner/post-banner.d.ts +49 -0
  363. package/dist/types/components/post-breadcrumb-item/post-breadcrumb-item.d.ts +20 -0
  364. package/dist/types/components/post-breadcrumbs/post-breadcrumbs.d.ts +30 -0
  365. package/dist/types/components/post-card-control/post-card-control.d.ts +9 -9
  366. package/dist/types/components/post-closebutton/post-closebutton.d.ts +7 -0
  367. package/dist/types/components/post-collapsible-trigger/post-collapsible-trigger.d.ts +9 -14
  368. package/dist/types/components/post-footer/post-footer.d.ts +23 -0
  369. package/dist/types/components/post-header/post-header.d.ts +52 -0
  370. package/dist/types/components/post-icon/post-icon.d.ts +10 -6
  371. package/dist/types/components/post-language-option/post-language-option.d.ts +49 -0
  372. package/dist/types/components/post-language-switch/post-language-switch.d.ts +39 -0
  373. package/dist/types/components/post-language-switch/switch-variants.d.ts +2 -0
  374. package/dist/types/components/post-linkarea/post-linkarea.d.ts +5 -0
  375. package/dist/types/components/post-list/post-list.d.ts +24 -0
  376. package/dist/types/components/post-list-item/post-list-item.d.ts +8 -0
  377. package/dist/types/components/post-mainnavigation/post-mainnavigation.d.ts +46 -0
  378. package/dist/types/components/post-megadropdown/post-megadropdown.d.ts +59 -0
  379. package/dist/types/components/post-megadropdown-trigger/post-megadropdown-trigger.d.ts +33 -0
  380. package/dist/types/components/post-menu/post-menu.d.ts +49 -0
  381. package/dist/types/components/post-menu-item/post-menu-item.d.ts +3 -0
  382. package/dist/types/components/post-menu-trigger/post-menu-trigger.d.ts +28 -0
  383. package/dist/types/components/post-popover/post-popover.d.ts +6 -4
  384. package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +9 -1
  385. package/dist/types/components/post-tab-header/post-tab-header.d.ts +1 -1
  386. package/dist/types/components/post-tabs/post-tabs.d.ts +1 -1
  387. package/dist/types/components/post-tag/post-tag.d.ts +2 -2
  388. package/dist/types/components/post-togglebutton/post-togglebutton.d.ts +15 -0
  389. package/dist/types/components/post-tooltip/post-tooltip.d.ts +1 -0
  390. package/dist/types/components/post-tooltip-trigger/post-tooltip-trigger.d.ts +0 -1
  391. package/dist/types/components.d.ts +603 -50
  392. package/dist/types/home/runner/work/design-system/design-system/packages/components/.stencil/.config/bindings.angular.d.ts +2 -0
  393. package/dist/types/index.d.ts +22 -3
  394. package/dist/types/popover-fn.d.ts +11 -0
  395. package/dist/types/utils/attribute-observer.d.ts +1 -1
  396. package/dist/types/utils/breakpoints.d.ts +12 -0
  397. package/dist/types/utils/component-on-ready.d.ts +1 -1
  398. package/dist/types/utils/environment.d.ts +2 -0
  399. package/dist/types/utils/event-guard.d.ts +4 -0
  400. package/dist/types/utils/get-focusable-children.d.ts +1 -0
  401. package/dist/types/utils/get-root.d.ts +5 -1
  402. package/dist/types/utils/index.d.ts +5 -0
  403. package/dist/types/utils/property-checkers/check-non-empty.d.ts +3 -1
  404. package/dist/types/utils/property-checkers/check-one-of.d.ts +3 -1
  405. package/dist/types/utils/property-checkers/check-pattern.d.ts +3 -1
  406. package/dist/types/utils/property-checkers/check-type.d.ts +3 -1
  407. package/dist/types/utils/property-checkers/check-url.d.ts +3 -1
  408. package/dist/types/utils/property-checkers/index.d.ts +12 -4
  409. package/dist/types/utils/sass-export.d.ts +5 -1
  410. package/loaders/breakpoints.js +56 -0
  411. package/loaders/check-non-empty.js +6 -2
  412. package/loaders/check-one-of.js +8 -3
  413. package/loaders/check-type.js +11 -6
  414. package/loaders/event-guard.js +45 -0
  415. package/loaders/fade.js +6 -2
  416. package/loaders/get-focusable-children.js +35 -0
  417. package/loaders/get-root.js +15 -0
  418. package/loaders/index.browser.js +14 -0
  419. package/loaders/index.d.ts +40 -2
  420. package/loaders/index.js +22 -2
  421. package/loaders/index2.js +25 -12
  422. package/loaders/long-press-event.js +264 -0
  423. package/loaders/package.js +1 -1
  424. package/loaders/post-accordion-item.js +1 -82
  425. package/loaders/post-accordion-item2.js +103 -0
  426. package/loaders/post-accordion.js +8 -9
  427. package/loaders/post-avatar.d.ts +11 -0
  428. package/loaders/post-avatar.js +173 -0
  429. package/loaders/post-back-to-top.d.ts +11 -0
  430. package/loaders/post-back-to-top.js +124 -0
  431. package/loaders/post-banner.d.ts +11 -0
  432. package/loaders/post-banner.js +130 -0
  433. package/loaders/post-breadcrumb-item.d.ts +11 -0
  434. package/loaders/post-breadcrumb-item.js +6 -0
  435. package/loaders/post-breadcrumb-item2.js +82 -0
  436. package/loaders/post-breadcrumbs.d.ts +11 -0
  437. package/loaders/post-breadcrumbs.js +180 -0
  438. package/loaders/post-card-control.js +16 -19
  439. package/loaders/post-closebutton.d.ts +11 -0
  440. package/loaders/post-closebutton.js +42 -0
  441. package/loaders/post-collapsible-trigger2.js +47 -64
  442. package/loaders/post-collapsible2.js +16 -11
  443. package/loaders/post-footer.d.ts +11 -0
  444. package/loaders/post-footer.js +81 -0
  445. package/loaders/post-header.d.ts +11 -0
  446. package/loaders/post-header.js +402 -0
  447. package/loaders/post-icon2.js +59 -55
  448. package/loaders/post-language-option.d.ts +11 -0
  449. package/loaders/post-language-option.js +106 -0
  450. package/loaders/post-language-switch.d.ts +11 -0
  451. package/loaders/post-language-switch.js +148 -0
  452. package/loaders/post-linkarea.d.ts +11 -0
  453. package/loaders/post-linkarea.js +46 -0
  454. package/loaders/post-list-item.d.ts +11 -0
  455. package/loaders/post-list-item.js +39 -0
  456. package/loaders/{post-alert.d.ts → post-list.d.ts} +4 -4
  457. package/loaders/post-list.js +57 -0
  458. package/loaders/post-logo.js +5 -4
  459. package/loaders/post-mainnavigation.d.ts +11 -0
  460. package/loaders/post-mainnavigation.js +186 -0
  461. package/loaders/post-megadropdown-trigger.d.ts +11 -0
  462. package/loaders/post-megadropdown-trigger.js +124 -0
  463. package/loaders/post-megadropdown.d.ts +11 -0
  464. package/loaders/post-megadropdown.js +193 -0
  465. package/loaders/post-menu-item.d.ts +11 -0
  466. package/loaders/post-menu-item.js +6 -0
  467. package/loaders/post-menu-item2.js +27 -0
  468. package/loaders/post-menu-trigger.d.ts +11 -0
  469. package/loaders/post-menu-trigger.js +6 -0
  470. package/loaders/post-menu-trigger2.js +109 -0
  471. package/loaders/post-menu.d.ts +11 -0
  472. package/loaders/post-menu.js +6 -0
  473. package/loaders/post-menu2.js +192 -0
  474. package/loaders/post-popover.js +20 -16
  475. package/loaders/post-popovercontainer2.js +788 -73
  476. package/loaders/post-rating.js +2 -2
  477. package/loaders/post-tab-header.js +8 -6
  478. package/loaders/post-tab-panel.js +4 -3
  479. package/loaders/post-tabs.js +11 -13
  480. package/loaders/post-tag.js +2 -2
  481. package/loaders/post-togglebutton.d.ts +11 -0
  482. package/loaders/post-togglebutton.js +65 -0
  483. package/loaders/post-tooltip-trigger.js +14 -277
  484. package/loaders/post-tooltip.js +7 -3
  485. package/loaders/slide.js +25 -0
  486. package/package.json +45 -33
  487. package/dist/cjs/check-non-empty-eeaa8f77.js +0 -11
  488. package/dist/cjs/check-one-of-f4f5d0c0.js +0 -8
  489. package/dist/cjs/check-type-64af82a9.js +0 -16
  490. package/dist/cjs/fade-35a3633a.js +0 -10
  491. package/dist/cjs/index-824d2b71.js +0 -39
  492. package/dist/cjs/post-accordion-item-744c881d.js +0 -52
  493. package/dist/cjs/post-alert-2a768f58.js +0 -99
  494. package/dist/cjs/post-alert.cjs.entry.js +0 -17
  495. package/dist/cjs/post-card-control-197c8e44.js +0 -272
  496. package/dist/cjs/post-icon-df629079.js +0 -139
  497. package/dist/cjs/post-icon.cjs.entry.js +0 -16
  498. package/dist/cjs/post-logo-7caeb918.js +0 -39
  499. package/dist/cjs/post-logo.cjs.entry.js +0 -15
  500. package/dist/cjs/post-popover-090c3d01.js +0 -131
  501. package/dist/cjs/post-popovercontainer-872681bf.js +0 -2281
  502. package/dist/cjs/post-popovercontainer.cjs.entry.js +0 -11
  503. package/dist/cjs/post-tab-header-422d0f03.js +0 -32
  504. package/dist/cjs/post-tag-c72183f2.js +0 -47
  505. package/dist/collection/components/post-alert/alert-types.js +0 -1
  506. package/dist/collection/components/post-alert/post-alert.css +0 -35
  507. package/dist/components/post-alert.js +0 -6
  508. package/dist/components/post-alert2.js +0 -136
  509. package/dist/esm/check-non-empty-58bd6b17.js +0 -9
  510. package/dist/esm/check-one-of-6b3ef8eb.js +0 -6
  511. package/dist/esm/check-type-8828dbe4.js +0 -14
  512. package/dist/esm/fade-7fd71785.js +0 -7
  513. package/dist/esm/index-69587a51.js +0 -34
  514. package/dist/esm/package-45827c3b.js +0 -3
  515. package/dist/esm/post-accordion-item-8869c90b.js +0 -50
  516. package/dist/esm/post-alert-21fd0068.js +0 -97
  517. package/dist/esm/post-alert.entry.js +0 -9
  518. package/dist/esm/post-card-control-60c132dc.js +0 -270
  519. package/dist/esm/post-icon-2e2e18ad.js +0 -137
  520. package/dist/esm/post-icon.entry.js +0 -8
  521. package/dist/esm/post-logo-f364eb72.js +0 -37
  522. package/dist/esm/post-logo.entry.js +0 -7
  523. package/dist/esm/post-popover-697201cd.js +0 -129
  524. package/dist/esm/post-popovercontainer-2b5f37fb.js +0 -2279
  525. package/dist/esm/post-popovercontainer.entry.js +0 -3
  526. package/dist/esm/post-tab-header-c8898fa2.js +0 -30
  527. package/dist/esm/post-tag-83470f28.js +0 -45
  528. package/dist/post-components/p-08dc45bb.entry.js +0 -1
  529. package/dist/post-components/p-1a48d1b0.js +0 -1
  530. package/dist/post-components/p-2737eaf5.js +0 -1
  531. package/dist/post-components/p-2b61a526.entry.js +0 -1
  532. package/dist/post-components/p-3f5bf5d9.entry.js +0 -1
  533. package/dist/post-components/p-40e5bb56.entry.js +0 -1
  534. package/dist/post-components/p-4a3f67ab.js +0 -1
  535. package/dist/post-components/p-56ca6bb5.js +0 -1
  536. package/dist/post-components/p-58cbb854.entry.js +0 -1
  537. package/dist/post-components/p-5c557e64.js +0 -1
  538. package/dist/post-components/p-5ce2abc9.entry.js +0 -1
  539. package/dist/post-components/p-5f08d625.js +0 -15
  540. package/dist/post-components/p-611b3c41.js +0 -1
  541. package/dist/post-components/p-7069ac74.entry.js +0 -1
  542. package/dist/post-components/p-755b2746.js +0 -1
  543. package/dist/post-components/p-788e64fb.js +0 -1
  544. package/dist/post-components/p-799cf60e.js +0 -1
  545. package/dist/post-components/p-7bbcc8ee.js +0 -1
  546. package/dist/post-components/p-7cdf9571.entry.js +0 -1
  547. package/dist/post-components/p-7e4181ce.entry.js +0 -1
  548. package/dist/post-components/p-9409f729.js +0 -1
  549. package/dist/post-components/p-a07846ea.js +0 -1
  550. package/dist/post-components/p-a4560368.js +0 -1
  551. package/dist/post-components/p-a503cb2c.entry.js +0 -1
  552. package/dist/post-components/p-b095519d.js +0 -1
  553. package/dist/post-components/p-b46e2451.js +0 -1
  554. package/dist/post-components/p-b7207224.js +0 -1
  555. package/dist/post-components/p-bafc0491.js +0 -1
  556. package/dist/post-components/p-c078fd94.entry.js +0 -1
  557. package/dist/post-components/p-c0aebe5e.entry.js +0 -1
  558. package/dist/post-components/p-c7e4acde.js +0 -1
  559. package/dist/post-components/p-ca71a3ff.entry.js +0 -1
  560. package/dist/post-components/p-d582cc10.js +0 -1
  561. package/dist/post-components/p-e49f57c0.entry.js +0 -1
  562. package/dist/post-components/p-eb712f9b.entry.js +0 -1
  563. package/dist/post-components/p-eebd060d.js +0 -1
  564. package/dist/post-components/p-f7cead60.entry.js +0 -1
  565. package/dist/post-components/p-ffd75503.js +0 -1
  566. package/dist/types/components/post-alert/alert-types.d.ts +0 -2
  567. package/dist/types/components/post-alert/post-alert.d.ts +0 -54
  568. package/loaders/post-alert.js +0 -139
@@ -0,0 +1,294 @@
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
+ import { eventGuard } from "../../utils/event-gua";
6
+ export class PostMenu {
7
+ constructor() {
8
+ this.lastFocusedElement = null;
9
+ this.KEYCODES = {
10
+ SPACE: ' ',
11
+ ENTER: 'Enter',
12
+ UP: 'ArrowUp',
13
+ DOWN: 'ArrowDown',
14
+ TAB: 'Tab',
15
+ HOME: 'Home',
16
+ END: 'End',
17
+ ESCAPE: 'Escape',
18
+ };
19
+ this.handleKeyDown = (e) => {
20
+ e.stopPropagation();
21
+ if (e.key === this.KEYCODES.ESCAPE) {
22
+ this.toggle(this.host);
23
+ return;
24
+ }
25
+ if (Object.values(this.KEYCODES).includes(e.key)) {
26
+ this.controlKeyDownHandler(e);
27
+ }
28
+ };
29
+ this.handlePostToggle = (event) => {
30
+ eventGuard(this.host, event, { targetLocalName: 'post-popovercontainer', delegatorSelector: 'post-menu' }, () => {
31
+ this.isVisible = event.detail;
32
+ this.toggleMenu.emit(this.isVisible);
33
+ requestAnimationFrame(() => {
34
+ if (this.isVisible) {
35
+ this.lastFocusedElement = this.root?.activeElement;
36
+ const menuItems = this.getSlottedItems();
37
+ if (menuItems.length > 0) {
38
+ menuItems[0].focus();
39
+ }
40
+ }
41
+ else if (this.lastFocusedElement) {
42
+ this.lastFocusedElement.focus();
43
+ }
44
+ });
45
+ });
46
+ };
47
+ this.handleClick = (e) => {
48
+ const target = e.target;
49
+ if (['BUTTON', 'A', 'INPUT', 'SELECT', 'TEXTAREA'].includes(target.tagName)) {
50
+ this.toggle(this.host);
51
+ }
52
+ };
53
+ this.placement = 'bottom';
54
+ this.isVisible = false;
55
+ }
56
+ connectedCallback() {
57
+ this.root = getRoot(this.host);
58
+ this.host.addEventListener('keydown', this.handleKeyDown);
59
+ this.host.addEventListener('click', this.handleClick);
60
+ }
61
+ disconnectedCallback() {
62
+ this.host.removeEventListener('keydown', this.handleKeyDown);
63
+ this.host.removeEventListener('click', this.handleClick);
64
+ this.popoverRef?.removeEventListener('postToggle', this.handlePostToggle);
65
+ }
66
+ componentDidLoad() {
67
+ if (this.popoverRef) {
68
+ this.popoverRef.addEventListener('postToggle', this.handlePostToggle);
69
+ }
70
+ }
71
+ /**
72
+ * Toggles the menu visibility based on its current state.
73
+ */
74
+ async toggle(target) {
75
+ if (this.popoverRef) {
76
+ await this.popoverRef.toggle(target);
77
+ }
78
+ else {
79
+ console.error('toggle: popoverRef is null or undefined');
80
+ }
81
+ }
82
+ /**
83
+ * Displays the popover menu, focusing the first menu item.
84
+ *
85
+ * @param target - The HTML element relative to which the popover menu should be displayed.
86
+ */
87
+ async show(target) {
88
+ if (this.popoverRef) {
89
+ await this.popoverRef.show(target);
90
+ }
91
+ else {
92
+ console.error('show: popoverRef is null or undefined');
93
+ }
94
+ }
95
+ /**
96
+ * Hides the popover menu and restores focus to the previously focused element.
97
+ */
98
+ async hide() {
99
+ if (this.popoverRef) {
100
+ await this.popoverRef.hide();
101
+ }
102
+ else {
103
+ console.error('hide: popoverRef is null or undefined');
104
+ }
105
+ }
106
+ controlKeyDownHandler(e) {
107
+ const menuItems = this.getSlottedItems();
108
+ if (!menuItems.length) {
109
+ return;
110
+ }
111
+ let currentIndex = menuItems.findIndex(el => {
112
+ // Check if the item is currently focused within its rendered scope (document or shadow root)
113
+ return el === getRoot(el).activeElement;
114
+ });
115
+ switch (e.key) {
116
+ case this.KEYCODES.UP:
117
+ e.preventDefault();
118
+ currentIndex = (currentIndex - 1 + menuItems.length) % menuItems.length;
119
+ break;
120
+ case this.KEYCODES.DOWN:
121
+ e.preventDefault();
122
+ currentIndex = (currentIndex + 1) % menuItems.length;
123
+ break;
124
+ case this.KEYCODES.HOME:
125
+ currentIndex = 0;
126
+ break;
127
+ case this.KEYCODES.END:
128
+ e.preventDefault();
129
+ currentIndex = menuItems.length - 1;
130
+ break;
131
+ case this.KEYCODES.SPACE:
132
+ this.toggle(this.host);
133
+ return;
134
+ case this.KEYCODES.TAB:
135
+ this.toggle(this.host);
136
+ break;
137
+ default:
138
+ break;
139
+ }
140
+ if (menuItems[currentIndex]) {
141
+ menuItems[currentIndex].focus();
142
+ }
143
+ }
144
+ getSlottedItems() {
145
+ const slot = this.host.shadowRoot.querySelector('slot');
146
+ const slottedElements = slot ? slot.assignedElements() : [];
147
+ return (slottedElements
148
+ // If the element is a slot, get the assigned elements
149
+ .flatMap(el => (el instanceof HTMLSlotElement ? el.assignedElements() : el))
150
+ // For each menu item, get any focusable children (e.g., buttons, links)
151
+ .flatMap(el => Array.from(getFocusableChildren(el))));
152
+ }
153
+ render() {
154
+ return (h(Host, { key: 'dd3bbcbf568e529588bcf5c90b8c2d4d07d454fb', "data-version": version, role: "menu" }, h("post-popovercontainer", { key: '17a24933ef087cc8699b00f7165fff33756da9a8', placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: '9ff3d687146c88cf153ea745abcaf7a3267be620', class: "popover-container", part: "popover-container" }, h("slot", { key: 'aff50800748410f6e2583690620c12e47b4c7a22' })))));
155
+ }
156
+ static get is() { return "post-menu"; }
157
+ static get encapsulation() { return "shadow"; }
158
+ static get originalStyleUrls() {
159
+ return {
160
+ "$": ["post-menu.scss"]
161
+ };
162
+ }
163
+ static get styleUrls() {
164
+ return {
165
+ "$": ["post-menu.css"]
166
+ };
167
+ }
168
+ static get properties() {
169
+ return {
170
+ "placement": {
171
+ "type": "string",
172
+ "mutable": false,
173
+ "complexType": {
174
+ "original": "Placement",
175
+ "resolved": "\"bottom\" | \"bottom-end\" | \"bottom-start\" | \"left\" | \"left-end\" | \"left-start\" | \"right\" | \"right-end\" | \"right-start\" | \"top\" | \"top-end\" | \"top-start\"",
176
+ "references": {
177
+ "Placement": {
178
+ "location": "import",
179
+ "path": "@floating-ui/dom",
180
+ "id": "../../node_modules/.pnpm/@floating-ui+dom@1.7.0/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.ts::Placement"
181
+ }
182
+ }
183
+ },
184
+ "required": false,
185
+ "optional": true,
186
+ "docs": {
187
+ "tags": [],
188
+ "text": "Defines the position of the menu relative to its trigger.\nMenus are automatically flipped to the opposite side if there is not enough available space and are shifted towards the viewport if they would overlap edge boundaries.\nFor supported values and behavior details, see the [Floating UI placement documentation](https://floating-ui.com/docs/computePosition#placement)."
189
+ },
190
+ "attribute": "placement",
191
+ "reflect": false,
192
+ "defaultValue": "'bottom'"
193
+ }
194
+ };
195
+ }
196
+ static get states() {
197
+ return {
198
+ "isVisible": {}
199
+ };
200
+ }
201
+ static get events() {
202
+ return [{
203
+ "method": "toggleMenu",
204
+ "name": "toggleMenu",
205
+ "bubbles": true,
206
+ "cancelable": true,
207
+ "composed": true,
208
+ "docs": {
209
+ "tags": [],
210
+ "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."
211
+ },
212
+ "complexType": {
213
+ "original": "boolean",
214
+ "resolved": "boolean",
215
+ "references": {}
216
+ }
217
+ }];
218
+ }
219
+ static get methods() {
220
+ return {
221
+ "toggle": {
222
+ "complexType": {
223
+ "signature": "(target: HTMLElement) => Promise<void>",
224
+ "parameters": [{
225
+ "name": "target",
226
+ "type": "HTMLElement",
227
+ "docs": ""
228
+ }],
229
+ "references": {
230
+ "Promise": {
231
+ "location": "global",
232
+ "id": "global::Promise"
233
+ },
234
+ "HTMLElement": {
235
+ "location": "global",
236
+ "id": "global::HTMLElement"
237
+ }
238
+ },
239
+ "return": "Promise<void>"
240
+ },
241
+ "docs": {
242
+ "text": "Toggles the menu visibility based on its current state.",
243
+ "tags": []
244
+ }
245
+ },
246
+ "show": {
247
+ "complexType": {
248
+ "signature": "(target: HTMLElement) => Promise<void>",
249
+ "parameters": [{
250
+ "name": "target",
251
+ "type": "HTMLElement",
252
+ "docs": "- The HTML element relative to which the popover menu should be displayed."
253
+ }],
254
+ "references": {
255
+ "Promise": {
256
+ "location": "global",
257
+ "id": "global::Promise"
258
+ },
259
+ "HTMLElement": {
260
+ "location": "global",
261
+ "id": "global::HTMLElement"
262
+ }
263
+ },
264
+ "return": "Promise<void>"
265
+ },
266
+ "docs": {
267
+ "text": "Displays the popover menu, focusing the first menu item.",
268
+ "tags": [{
269
+ "name": "param",
270
+ "text": "target - The HTML element relative to which the popover menu should be displayed."
271
+ }]
272
+ }
273
+ },
274
+ "hide": {
275
+ "complexType": {
276
+ "signature": "() => Promise<void>",
277
+ "parameters": [],
278
+ "references": {
279
+ "Promise": {
280
+ "location": "global",
281
+ "id": "global::Promise"
282
+ }
283
+ },
284
+ "return": "Promise<void>"
285
+ },
286
+ "docs": {
287
+ "text": "Hides the popover menu and restores focus to the previously focused element.",
288
+ "tags": []
289
+ }
290
+ }
291
+ };
292
+ }
293
+ static get elementRef() { return "host"; }
294
+ }
@@ -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: '376ce17a520b6cb74c55c009843df878f99ef411', role: "menuitem", "data-version": version }, h("slot", { key: 'e489c5c09f1527e527e052e9f4349c5b26db6ea9' })));
6
+ }
7
+ static get is() { return "post-menu-item"; }
8
+ }
@@ -0,0 +1 @@
1
+ :host{display:inline-block}
@@ -0,0 +1,120 @@
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() {
25
+ checkType(this, 'for', '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
+ if (this.menu) {
33
+ this.menu.toggle(this.host);
34
+ }
35
+ else {
36
+ console.warn(`No post-menu found with ID: ${this.for}`);
37
+ }
38
+ }
39
+ connectedCallback() {
40
+ this.root = getRoot(this.host);
41
+ }
42
+ componentDidLoad() {
43
+ this.validateControlFor();
44
+ this.slottedButton = this.host.querySelector('button');
45
+ // Check if the slottedButton is within a web component
46
+ if (!this.slottedButton) {
47
+ const webComponent = this.host.querySelector('.menu-trigger-webc');
48
+ if (webComponent.shadowRoot) {
49
+ const slottedButton = webComponent.shadowRoot.querySelector('button');
50
+ if (slottedButton) {
51
+ this.slottedButton = slottedButton;
52
+ }
53
+ }
54
+ }
55
+ if (this.slottedButton) {
56
+ this.slottedButton.setAttribute('aria-haspopup', 'menu');
57
+ // Listen to the `toggleMenu` event emitted by the `post-menu` component
58
+ if (this.menu && this.slottedButton) {
59
+ this.menu.addEventListener('toggleMenu', (event) => {
60
+ this.ariaExpanded = event.detail;
61
+ this.slottedButton.setAttribute('aria-expanded', this.ariaExpanded.toString());
62
+ });
63
+ }
64
+ this.slottedButton.addEventListener('click', () => {
65
+ this.handleToggle();
66
+ });
67
+ this.slottedButton.addEventListener('keydown', this.handleKeyDown);
68
+ }
69
+ else {
70
+ console.warn('No button found within post-menu-trigger');
71
+ }
72
+ }
73
+ render() {
74
+ return (h(Host, { key: '1b9589febc2976d17eed3363d91b4321473b7b5e', "data-version": version, "tab-index": "-1" }, h("slot", { key: 'bec55f97274084ab4721dc085dc9e1c3a216c0a3' })));
75
+ }
76
+ static get is() { return "post-menu-trigger"; }
77
+ static get originalStyleUrls() {
78
+ return {
79
+ "$": ["post-menu-trigger.scss"]
80
+ };
81
+ }
82
+ static get styleUrls() {
83
+ return {
84
+ "$": ["post-menu-trigger.css"]
85
+ };
86
+ }
87
+ static get properties() {
88
+ return {
89
+ "for": {
90
+ "type": "string",
91
+ "mutable": false,
92
+ "complexType": {
93
+ "original": "string",
94
+ "resolved": "string",
95
+ "references": {}
96
+ },
97
+ "required": true,
98
+ "optional": false,
99
+ "docs": {
100
+ "tags": [],
101
+ "text": "ID of the menu element that this trigger is linked to. Used to open and close the specified menu."
102
+ },
103
+ "attribute": "for",
104
+ "reflect": true
105
+ }
106
+ };
107
+ }
108
+ static get states() {
109
+ return {
110
+ "ariaExpanded": {}
111
+ };
112
+ }
113
+ static get elementRef() { return "host"; }
114
+ static get watchers() {
115
+ return [{
116
+ "propName": "for",
117
+ "methodName": "validateControlFor"
118
+ }];
119
+ }
120
+ }
@@ -1,31 +1 @@
1
- @keyframes popIn{from{transform:scale(0.9);opacity:0;transition-property:transform,opacity,overlay,display;transition-behavior:allow-discrete;transition-duration:var(--post-transition-duration, 0.35s);transition-timing-function:linear(0, 0.007, 0.029 2.2%, 0.118 4.7%, 0.625 14.4%, 0.826 19%, 0.902, 0.962, 1.008 26.1%, 1.041 28.7%, 1.064 32.1%, 1.07 36%, 1.061 40.5%, 1.015 53.4%, 0.999 61.6%, 0.995 71.2%, 1)}to{opacity:1;transform:scale(1)}}/*!
2
- * Bootstrap Utilities v5.1.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2021 The Bootstrap Authors
4
- * Copyright 2011-2021 Twitter, Inc.
5
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6
-
7
- * The MIT License (MIT)
8
-
9
- * Copyright (c) 2011-2020 Twitter, Inc.
10
- * Copyright (c) 2011-2020 The Bootstrap Authors
11
-
12
- * Permission is hereby granted, free of charge, to any person obtaining a copy
13
- * of this software and associated documentation files (the "Software"), to deal
14
- * in the Software without restriction, including without limitation the rights
15
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
16
- * copies of the Software, and to permit persons to whom the Software is
17
- * furnished to do so, subject to the following conditions:
18
-
19
- * The above copyright notice and this permission notice shall be included in
20
- * all copies or substantial portions of the Software.
21
-
22
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
27
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
28
- * THE SOFTWARE.
29
- *//*!
30
- * Copyright 2021 by Swiss Post, Information Technology
31
- */.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}
1
+ @keyframes popIn{from{transform:scale(0.9);opacity:0;transition-property:transform,opacity,overlay,display;transition-behavior:allow-discrete;transition-duration:var(--post-transition-duration, 0.35s);transition-timing-function:linear(0, 0.007, 0.029 2.2%, 0.118 4.7%, 0.625 14.4%, 0.826 19%, 0.902, 0.962, 1.008 26.1%, 1.041 28.7%, 1.064 32.1%, 1.07 36%, 1.061 40.5%, 1.015 53.4%, 0.999 61.6%, 0.995 71.2%, 1)}to{opacity:1;transform:scale(1)}}.btn-close{padding:0;overflow:visible;border:0;background:none;color:var(--post-scheme-color-interactive-button-secondary-enabled-fg);font:inherit;-webkit-user-select:none;user-select:none;appearance:button;border-radius:var(--post-device-border-radius-round);color:#000;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;cursor:pointer}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-close{background-color:ButtonFace !important}.btn-close:hover{background-color:Highlight !important}}.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{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:#999}@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:min(var(--post-popover-max-width, 280px),100vw)}.popover-content{padding:.5em;flex-grow:1}.btn-close{color:var(--post-scheme-color-surface-default-fg)}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-close:hover{color:HighlightText !important}}
@@ -1,6 +1,6 @@
1
1
  import { h, Host } from "@stencil/core";
2
+ import { IS_BROWSER, getAttributeObserver } from "../../utils/index";
2
3
  import { version } from "../../../../package";
3
- import { getAttributeObserver } from "../../utils/attribute-observer";
4
4
  /**
5
5
  * @slot default - Slot for placing content inside the popover.
6
6
  */
@@ -14,19 +14,18 @@ const globalToggleHandler = (e) => {
14
14
  break;
15
15
  currentElement = currentElement.parentElement;
16
16
  }
17
- const popoverTarget = currentElement === null || currentElement === void 0 ? void 0 : currentElement.getAttribute(popoverTargetAttribute);
17
+ const popoverTarget = currentElement?.getAttribute(popoverTargetAttribute);
18
18
  if (!popoverTarget || ('key' in e && e.key !== 'Enter'))
19
19
  return;
20
20
  const popover = document.getElementById(popoverTarget);
21
- popover === null || popover === void 0 ? void 0 : popover.toggle(currentElement);
21
+ popover?.toggle(currentElement);
22
22
  };
23
- // Initialize a mutation observer for patching accessibility features
24
- const triggerObserver = getAttributeObserver(popoverTargetAttribute, trigger => {
25
- const force = trigger.hasAttribute(popoverTargetAttribute);
26
- trigger.setAttribute('aria-expanded', force ? 'false' : null);
27
- });
28
23
  export class PostPopover {
29
24
  constructor() {
25
+ // Initialize a mutation observer for patching accessibility features
26
+ this.triggerObserver = IS_BROWSER
27
+ ? getAttributeObserver(popoverTargetAttribute, this.patchAccessibilityFeatures)
28
+ : null;
30
29
  this.placement = 'top';
31
30
  this.closeButtonCaption = undefined;
32
31
  this.arrow = true;
@@ -37,7 +36,7 @@ export class PostPopover {
37
36
  if (popoverInstances === 0) {
38
37
  window.addEventListener('pointerup', globalToggleHandler);
39
38
  window.addEventListener('keydown', globalToggleHandler);
40
- triggerObserver.observe(document.body, {
39
+ this.triggerObserver?.observe(document.body, {
41
40
  subtree: true,
42
41
  childList: true,
43
42
  attributeFilter: [popoverTargetAttribute],
@@ -55,7 +54,7 @@ export class PostPopover {
55
54
  if (popoverInstances === 0) {
56
55
  window.removeEventListener('click', globalToggleHandler);
57
56
  window.removeEventListener('keydown', globalToggleHandler);
58
- triggerObserver.disconnect();
57
+ this.triggerObserver?.disconnect();
59
58
  }
60
59
  this.popoverRef.removeEventListener('beforetoggle', this.localBeforeToggleHandler);
61
60
  this.triggers.forEach(trigger => trigger.removeAttribute('aria-expanded'));
@@ -91,8 +90,12 @@ export class PostPopover {
91
90
  beforeToggleHandler() {
92
91
  this.triggers.forEach(trigger => trigger.setAttribute('aria-expanded', 'false'));
93
92
  }
93
+ patchAccessibilityFeatures(trigger) {
94
+ const force = trigger.hasAttribute(popoverTargetAttribute);
95
+ trigger.setAttribute('aria-expanded', force ? 'false' : null);
96
+ }
94
97
  render() {
95
- return (h(Host, { key: '8c32a2546f820437af18636ba641ecea731aa753', "data-version": version }, h("post-popovercontainer", { key: '153a80377f98777f0b2ac25d3c8671acd15826df', arrow: this.arrow, placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: 'c639c0f2b76a18f8f9cc24def68c8b96e4ab94e7', class: "popover-container" }, h("div", { key: 'a0e8941ad78df9443aea7a926f0f9cba31df3a90', class: "popover-content" }, h("slot", { key: '00ea323cc3c59e5933c70a3af65ee01e119f8a77' })), h("button", { key: 'c73f56292364327acaa4a5114a62e43b76bdc81c', class: "btn-close", onClick: () => this.hide() }, h("span", { key: 'fd711fe7605961881c999523ecfbeaa1dc2f081a', class: "visually-hidden" }, this.closeButtonCaption))))));
98
+ return (h(Host, { key: '56056367e3d917d7a2b9f81073fb9be4966d6bf6', "data-version": version }, h("post-popovercontainer", { key: '303164b40db9d7568304b354ff065a564506221f', arrow: this.arrow, placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: 'e9d93ab370c3915e61d955823a0ce5674b5a39ae', class: "popover-container" }, h("div", { key: '108db792f093ac81356eda9389dc2b0b0da363e2', class: "popover-content" }, h("slot", { key: '88694578a319978f747cfa7904294199d06edb21' })), h("button", { key: '3cf65346d57b9985bfe97d8e0cd46dc68951168b', class: "btn-close", onClick: () => this.hide() }, h("span", { key: '6b2d660aa046935c16bad96c640dae6a77713383', class: "visually-hidden" }, this.closeButtonCaption))))));
96
99
  }
97
100
  static get is() { return "post-popover"; }
98
101
  static get encapsulation() { return "shadow"; }
@@ -118,7 +121,7 @@ export class PostPopover {
118
121
  "Placement": {
119
122
  "location": "import",
120
123
  "path": "@floating-ui/dom",
121
- "id": "../../node_modules/.pnpm/@floating-ui+dom@1.6.8/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.ts::Placement"
124
+ "id": "../../node_modules/.pnpm/@floating-ui+dom@1.7.0/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.ts::Placement"
122
125
  }
123
126
  }
124
127
  },
@@ -126,7 +129,7 @@ export class PostPopover {
126
129
  "optional": true,
127
130
  "docs": {
128
131
  "tags": [],
129
- "text": "Defines the placement of the popover according to the floating-ui options available at https://floating-ui.com/docs/computePosition#placement.\nPopoverss 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."
132
+ "text": "Defines the position of the popover relative to its trigger.\nPopovers are automatically flipped to the opposite side if there is not enough available space and are shifted towards the viewport if they would overlap edge boundaries.\nFor supported values and behavior details, see the [Floating UI placement documentation](https://floating-ui.com/docs/computePosition#placement)."
130
133
  },
131
134
  "attribute": "placement",
132
135
  "reflect": false,
@@ -1,31 +1 @@
1
- @keyframes popIn{from{transform:scale(0.9);opacity:0;transition-property:transform,opacity,overlay,display;transition-behavior:allow-discrete;transition-duration:var(--post-transition-duration, 0.35s);transition-timing-function:linear(0, 0.007, 0.029 2.2%, 0.118 4.7%, 0.625 14.4%, 0.826 19%, 0.902, 0.962, 1.008 26.1%, 1.041 28.7%, 1.064 32.1%, 1.07 36%, 1.061 40.5%, 1.015 53.4%, 0.999 61.6%, 0.995 71.2%, 1)}to{opacity:1;transform:scale(1)}}/*!
2
- * Bootstrap Utilities v5.1.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2021 The Bootstrap Authors
4
- * Copyright 2011-2021 Twitter, Inc.
5
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6
-
7
- * The MIT License (MIT)
8
-
9
- * Copyright (c) 2011-2020 Twitter, Inc.
10
- * Copyright (c) 2011-2020 The Bootstrap Authors
11
-
12
- * Permission is hereby granted, free of charge, to any person obtaining a copy
13
- * of this software and associated documentation files (the "Software"), to deal
14
- * in the Software without restriction, including without limitation the rights
15
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
16
- * copies of the Software, and to permit persons to whom the Software is
17
- * furnished to do so, subject to the following conditions:
18
-
19
- * The above copyright notice and this permission notice shall be included in
20
- * all copies or substantial portions of the Software.
21
-
22
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
27
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
28
- * THE SOFTWARE.
29
- *//*!
30
- * Copyright 2021 by Swiss Post, Information Technology
31
- */@layer polyfill{@supports not selector(:popover-open){[popover]:not(.\:popover-open){display:none}}}:where(post-popovercontainer){background-color:rgba(0,0,0,0);border:rgba(0,0,0,0);position:fixed;margin:0;padding:0;overflow:visible}:where(post-popovercontainer)>div{box-shadow:.5px 3px 4px rgba(0,0,0,.1),2px 4px 10px 4px rgba(0,0,0,.12);width:max-content;display:flex;align-items:center;max-width:100%;color:var(--post-contrast-color);background-color:rgb(var(--post-bg-rgb));border:2px solid rgba(0,0,0,0);border-radius:4px}:where(post-popovercontainer)>div.animate-pop-in{animation:popIn .25s ease-out forwards}: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)[safe-space]::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:auto}:where(post-popovercontainer)[safe-space=triangle]::after{clip-path:polygon(var(--post-safe-space-cursor-x, 0) var(--post-safe-space-cursor-y, 0), var(--post-safe-space-popover-x-start, var(--post-safe-space-popover-x, 0)) var(--post-safe-space-popover-y, var(--post-safe-space-popover-y-start, 0)), var(--post-safe-space-popover-x-end, var(--post-safe-space-popover-x, 0)) var(--post-safe-space-popover-y, var(--post-safe-space-popover-y-end, 0)))}:where(post-popovercontainer)[safe-space=trapezoid]::after{clip-path:polygon(var(--post-safe-space-trigger-x-start, var(--post-safe-space-trigger-x, 0)) var(--post-safe-space-trigger-y, var(--post-safe-space-trigger-y-start, 0)), var(--post-safe-space-trigger-x-end, var(--post-safe-space-trigger-x, 0)) var(--post-safe-space-trigger-y, var(--post-safe-space-trigger-y-end, 0)), var(--post-safe-space-popover-x-end, var(--post-safe-space-popover-x, 0)) var(--post-safe-space-popover-y, var(--post-safe-space-popover-y-end, 0)), var(--post-safe-space-popover-x-start, var(--post-safe-space-popover-x, 0)) var(--post-safe-space-popover-y, var(--post-safe-space-popover-y-start, 0)))}:where(post-popovercontainer):has(.arrow)>div{filter:drop-shadow(1px 2px 3px hsla(216, 9%, 11%, 0.15)) drop-shadow(2px 4px 6px hsla(225, 17%, 9%, 0.15)) drop-shadow(4px 8px 12px hsla(225, 7%, 11%, 0.15))}:where(post-popovercontainer):has(.arrow.top)>div{filter:drop-shadow(0px -2px 3px hsla(216, 9%, 11%, 0.15)) drop-shadow(0px -4px 6px hsla(225, 17%, 9%, 0.15)) drop-shadow(0px -8px 12px hsla(225, 7%, 11%, 0.15))}:where(post-popovercontainer):has(.arrow.left)>div{filter:drop-shadow(-2px 0px 3px hsla(216, 9%, 11%, 0.15)) drop-shadow(-4px 0px 6px hsla(225, 17%, 9%, 0.15)) drop-shadow(-8px 0px 12px hsla(225, 7%, 11%, 0.15))}:where(post-popovercontainer):has(.arrow.right)>div{filter:drop-shadow(2px 0px 3px hsla(216, 9%, 11%, 0.15)) drop-shadow(4px 0px 6px hsla(225, 17%, 9%, 0.15)) drop-shadow(8px 0px 12px hsla(225, 7%, 11%, 0.15))}: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-block-start:2px solid rgba(0,0,0,0);border-inline-start:2px solid rgba(0,0,0,0)}:where(post-popovercontainer) .arrow.right{border-block-start:2px solid rgba(0,0,0,0);border-inline-end:2px solid rgba(0,0,0,0)}:where(post-popovercontainer) .arrow.left{border-block-end:2px solid rgba(0,0,0,0);border-inline-start:2px solid rgba(0,0,0,0)}:where(post-popovercontainer) .arrow.bottom{border-block-end:2px solid rgba(0,0,0,0);border-inline-end:2px solid rgba(0,0,0,0)}
1
+ @keyframes popIn{from{transform:scale(0.9);opacity:0;transition-property:transform,opacity,overlay,display;transition-behavior:allow-discrete;transition-duration:var(--post-transition-duration, 0.35s);transition-timing-function:linear(0, 0.007, 0.029 2.2%, 0.118 4.7%, 0.625 14.4%, 0.826 19%, 0.902, 0.962, 1.008 26.1%, 1.041 28.7%, 1.064 32.1%, 1.07 36%, 1.061 40.5%, 1.015 53.4%, 0.999 61.6%, 0.995 71.2%, 1)}to{opacity:1;transform:scale(1)}}@layer polyfill{@supports not selector(:popover-open){[popover]:not(.\:popover-open){display:none}}}:where(post-popovercontainer){background-color:rgba(0,0,0,0);border:rgba(0,0,0,0);position:fixed;margin:0;padding:0;overflow:visible}:where(post-popovercontainer)>div{box-shadow:var(--post-device-elevation-300);width:max-content;max-width:100%;color:var(--post-current-palette-fg);background-color:var(--post-current-palette-bg);border:2px solid rgba(0,0,0,0);border-radius:4px}:where(post-popovercontainer)>div.animate-pop-in{animation:popIn .25s ease-out forwards}: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)[safe-space]::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:auto}:where(post-popovercontainer)[safe-space=triangle]::after{clip-path:polygon(var(--post-safe-space-cursor-x, 0) var(--post-safe-space-cursor-y, 0), var(--post-safe-space-popover-x-start, var(--post-safe-space-popover-x, 0)) var(--post-safe-space-popover-y, var(--post-safe-space-popover-y-start, 0)), var(--post-safe-space-popover-x-end, var(--post-safe-space-popover-x, 0)) var(--post-safe-space-popover-y, var(--post-safe-space-popover-y-end, 0)))}:where(post-popovercontainer)[safe-space=trapezoid]::after{clip-path:polygon(var(--post-safe-space-trigger-x-start, var(--post-safe-space-trigger-x, 0)) var(--post-safe-space-trigger-y, var(--post-safe-space-trigger-y-start, 0)), var(--post-safe-space-trigger-x-end, var(--post-safe-space-trigger-x, 0)) var(--post-safe-space-trigger-y, var(--post-safe-space-trigger-y-end, 0)), var(--post-safe-space-popover-x-end, var(--post-safe-space-popover-x, 0)) var(--post-safe-space-popover-y, var(--post-safe-space-popover-y-end, 0)), var(--post-safe-space-popover-x-start, var(--post-safe-space-popover-x, 0)) var(--post-safe-space-popover-y, var(--post-safe-space-popover-y-start, 0)))}:where(post-popovercontainer):not(:has(.arrow))>div{box-shadow:var(--post-device-elevation-300)}:where(post-popovercontainer):has(.arrow)>div{filter:drop-shadow(1px 2px 3px hsla(216, 9%, 11%, 0.15)) drop-shadow(2px 4px 6px hsla(225, 17%, 9%, 0.15)) drop-shadow(4px 8px 12px hsla(225, 7%, 11%, 0.15))}:where(post-popovercontainer):has(.arrow.top)>div{filter:drop-shadow(0px -2px 3px hsla(216, 9%, 11%, 0.15)) drop-shadow(0px -4px 6px hsla(225, 17%, 9%, 0.15)) drop-shadow(0px -8px 12px hsla(225, 7%, 11%, 0.15))}:where(post-popovercontainer):has(.arrow.left)>div{filter:drop-shadow(-2px 0px 3px hsla(216, 9%, 11%, 0.15)) drop-shadow(-4px 0px 6px hsla(225, 17%, 9%, 0.15)) drop-shadow(-8px 0px 12px hsla(225, 7%, 11%, 0.15))}:where(post-popovercontainer):has(.arrow.right)>div{filter:drop-shadow(2px 0px 3px hsla(216, 9%, 11%, 0.15)) drop-shadow(4px 0px 6px hsla(225, 17%, 9%, 0.15)) drop-shadow(8px 0px 12px hsla(225, 7%, 11%, 0.15))}: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-block-start:2px solid rgba(0,0,0,0);border-inline-start:2px solid rgba(0,0,0,0)}:where(post-popovercontainer) .arrow.right{border-block-start:2px solid rgba(0,0,0,0);border-inline-end:2px solid rgba(0,0,0,0)}:where(post-popovercontainer) .arrow.left{border-block-end:2px solid rgba(0,0,0,0);border-inline-start:2px solid rgba(0,0,0,0)}:where(post-popovercontainer) .arrow.bottom{border-block-end:2px solid rgba(0,0,0,0);border-inline-end:2px solid rgba(0,0,0,0)}