@swisspost/design-system-components 10.0.0-next.54 → 10.0.0-next.56

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 (409) hide show
  1. package/dist/{components/react/p-CJ80BZ06.js → cjs/breakpoints-Df03Ct7n.js} +103 -5
  2. package/dist/cjs/debounce-BsIBi_-2.js +13 -0
  3. package/dist/cjs/environment-BQE9Unf_.js +52 -0
  4. package/dist/cjs/{event-from-CLvtSUKf.js → event-from-CwMw19f8.js} +2 -2
  5. package/dist/cjs/fade-CPQhl1fP.js +26 -0
  6. package/dist/cjs/fade-slide-dPhQa-I1.js +38 -0
  7. package/dist/cjs/{get-focusable-children-Bx63XUQg.js → get-focusable-children-ChETM1wK.js} +29 -21
  8. package/dist/cjs/{get-root-CyMf3Vsd.js → get-root-CUAv4k4C.js} +2 -2
  9. package/dist/cjs/{index-Cb8CTrOz.js → index-CKNxhb0S.js} +29 -13
  10. package/dist/cjs/loader.cjs.js +2 -2
  11. package/dist/cjs/{package-CvZxvdTJ.js → package-CY7IOoiw.js} +1 -1
  12. package/dist/cjs/post-accordion_2.cjs.entry.js +12 -12
  13. package/dist/cjs/post-avatar.cjs.entry.js +11 -11
  14. package/dist/cjs/post-back-to-top.cjs.entry.js +16 -40
  15. package/dist/cjs/post-banner.cjs.entry.js +11 -10
  16. package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +7 -7
  17. package/dist/cjs/post-breadcrumbs.cjs.entry.js +22 -31
  18. package/dist/cjs/post-card-control.cjs.entry.js +16 -16
  19. package/dist/cjs/{post-closebutton_15.cjs.entry.js → post-closebutton_13.cjs.entry.js} +537 -507
  20. package/dist/cjs/post-collapsible_2.cjs.entry.js +39 -38
  21. package/dist/cjs/post-components.cjs.js +2 -2
  22. package/dist/cjs/post-env-test.cjs.entry.js +15 -0
  23. package/dist/cjs/post-footer.cjs.entry.js +21 -19
  24. package/dist/cjs/post-linkarea.cjs.entry.js +3 -3
  25. package/dist/cjs/post-pagination.cjs.entry.js +589 -0
  26. package/dist/cjs/post-popover-trigger.cjs.entry.js +46 -30
  27. package/dist/cjs/post-popover.cjs.entry.js +12 -12
  28. package/dist/cjs/post-rating.cjs.entry.js +13 -13
  29. package/dist/cjs/post-stepper-item.cjs.entry.js +18 -0
  30. package/dist/cjs/post-stepper.cjs.entry.js +109 -0
  31. package/dist/cjs/post-tab-item.cjs.entry.js +49 -0
  32. package/dist/cjs/post-tab-panel.cjs.entry.js +9 -9
  33. package/dist/cjs/post-tabs.cjs.entry.js +191 -38
  34. package/dist/cjs/post-tooltip-trigger.cjs.entry.js +8 -8
  35. package/dist/cjs/post-tooltip.cjs.entry.js +7 -7
  36. package/dist/cjs/utils-s05L2ulk.js +26 -0
  37. package/dist/collection/animations/collapse.js +3 -3
  38. package/dist/collection/animations/fade-slide.js +33 -0
  39. package/dist/collection/animations/fade.js +19 -7
  40. package/dist/collection/animations/index.js +2 -0
  41. package/dist/collection/animations/slide.js +25 -21
  42. package/dist/collection/animations/types.js +14 -0
  43. package/dist/collection/animations/utils.js +8 -0
  44. package/dist/collection/collection-manifest.json +8 -6
  45. package/dist/collection/components/post-accordion/post-accordion.css +1 -1
  46. package/dist/collection/components/post-accordion/post-accordion.js +2 -2
  47. package/dist/collection/components/post-accordion-item/post-accordion-item.css +1 -1
  48. package/dist/collection/components/post-accordion-item/post-accordion-item.js +4 -4
  49. package/dist/collection/components/post-avatar/post-avatar.css +1 -1
  50. package/dist/collection/components/post-avatar/post-avatar.js +1 -1
  51. package/dist/collection/components/post-back-to-top/post-back-to-top.js +14 -14
  52. package/dist/collection/components/post-banner/post-banner.css +4 -1
  53. package/dist/collection/components/post-banner/post-banner.js +3 -3
  54. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +1 -1
  55. package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.js +28 -28
  56. package/dist/collection/components/post-card-control/post-card-control.js +3 -3
  57. package/dist/collection/components/post-closebutton/post-closebutton.css +1 -1
  58. package/dist/collection/components/post-closebutton/post-closebutton.js +1 -1
  59. package/dist/collection/components/post-collapsible/post-collapsible.js +27 -27
  60. package/dist/collection/components/post-collapsible-trigger/post-collapsible-trigger.js +6 -5
  61. package/dist/collection/components/post-footer/post-footer.css +1 -1
  62. package/dist/collection/components/post-footer/post-footer.js +18 -16
  63. package/dist/collection/components/post-header/post-header.css +1 -1
  64. package/dist/collection/components/post-header/post-header.js +186 -105
  65. package/dist/collection/components/post-icon/post-icon.js +6 -4
  66. package/dist/collection/components/post-language-menu/post-language-menu.css +1 -0
  67. package/dist/collection/components/{post-language-switch/post-language-switch.js → post-language-menu/post-language-menu.js} +25 -25
  68. package/dist/collection/components/post-language-menu-item/post-language-menu-item.css +1 -0
  69. package/dist/collection/components/{post-language-option/post-language-option.js → post-language-menu-item/post-language-menu-item.js} +14 -14
  70. package/dist/collection/components/post-linkarea/post-linkarea.js +1 -1
  71. package/dist/collection/components/post-logo/post-logo.css +3 -1
  72. package/dist/collection/components/post-logo/post-logo.js +1 -1
  73. package/dist/collection/components/post-mainnavigation/post-mainnavigation.css +1 -1
  74. package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +41 -29
  75. package/dist/collection/components/post-megadropdown/post-megadropdown.css +1 -1
  76. package/dist/collection/components/post-megadropdown/post-megadropdown.js +184 -75
  77. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.css +3 -1
  78. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +80 -74
  79. package/dist/collection/components/post-menu/post-menu.css +1 -1
  80. package/dist/collection/components/post-menu/post-menu.js +35 -35
  81. package/dist/collection/components/post-menu-item/post-menu-item.js +1 -1
  82. package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +1 -1
  83. package/dist/collection/components/post-pagination/post-pagination.css +1 -0
  84. package/dist/collection/components/post-pagination/post-pagination.js +838 -0
  85. package/dist/collection/components/post-popover/post-popover.css +1 -1
  86. package/dist/collection/components/post-popover/post-popover.js +10 -10
  87. package/dist/collection/components/post-popover-trigger/post-popover-trigger.js +43 -27
  88. package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +1 -1
  89. package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +45 -92
  90. package/dist/collection/components/post-rating/post-rating.js +3 -3
  91. package/dist/collection/components/post-stepper/post-stepper.css +1 -0
  92. package/dist/collection/components/post-stepper/post-stepper.js +207 -0
  93. package/dist/collection/components/post-stepper-item/post-stepper-item.css +7 -0
  94. package/dist/collection/components/post-stepper-item/post-stepper-item.js +18 -0
  95. package/dist/collection/components/post-tab-item/post-tab-item.css +1 -0
  96. package/dist/collection/components/post-tab-item/post-tab-item.js +86 -0
  97. package/dist/collection/components/post-tab-panel/post-tab-panel.js +9 -9
  98. package/dist/collection/components/post-tabs/post-tabs.js +230 -57
  99. package/dist/collection/components/post-togglebutton/post-togglebutton.js +1 -1
  100. package/dist/collection/components/post-tooltip/post-tooltip.css +1 -1
  101. package/dist/collection/components/post-tooltip/post-tooltip.js +1 -1
  102. package/dist/collection/components/post-tooltip-trigger/post-tooltip-trigger.js +1 -1
  103. package/dist/collection/utils/environment.js +47 -2
  104. package/dist/collection/utils/event-from.js +2 -2
  105. package/dist/collection/utils/get-focusable-children.js +29 -21
  106. package/dist/collection/utils/is-motion-reduced.js +1 -1
  107. package/dist/collection/utils/tests/environment/hydrate-app-helper.js +16 -0
  108. package/dist/collection/utils/tests/environment/post-env-test.js +9 -0
  109. package/dist/component-names.json +6 -5
  110. package/dist/components/breakpoints.js +90 -3
  111. package/dist/components/debounce.js +11 -0
  112. package/dist/components/environment.js +49 -0
  113. package/dist/components/event-from.js +2 -2
  114. package/dist/components/fade-slide.js +36 -0
  115. package/dist/components/fade.js +21 -8
  116. package/dist/components/get-focusable-children.js +29 -21
  117. package/dist/components/get-root.js +1 -1
  118. package/dist/components/index.d.ts +14 -10
  119. package/dist/components/index.js +7 -5
  120. package/dist/components/package.js +1 -1
  121. package/dist/components/post-accordion-item2.js +4 -5
  122. package/dist/components/post-accordion2.js +4 -5
  123. package/dist/components/post-avatar.js +3 -4
  124. package/dist/components/post-back-to-top.js +14 -40
  125. package/dist/components/post-banner.js +5 -6
  126. package/dist/components/post-breadcrumb-item2.js +2 -3
  127. package/dist/components/post-breadcrumbs.js +24 -34
  128. package/dist/components/post-card-control.js +4 -5
  129. package/dist/components/post-closebutton2.js +3 -4
  130. package/dist/components/post-collapsible-trigger2.js +10 -10
  131. package/dist/components/post-collapsible2.js +25 -25
  132. package/dist/components/{post-list.d.ts → post-env-test.d.ts} +4 -4
  133. package/dist/components/post-env-test.js +31 -0
  134. package/dist/components/post-footer.js +17 -16
  135. package/dist/components/post-header.js +156 -119
  136. package/dist/components/post-icon2.js +8 -6
  137. package/dist/components/post-language-menu-item.d.ts +11 -0
  138. package/dist/components/post-language-menu-item.js +98 -0
  139. package/dist/components/{post-language-switch.d.ts → post-language-menu.d.ts} +4 -4
  140. package/dist/components/post-language-menu.js +156 -0
  141. package/dist/components/post-linkarea.js +1 -1
  142. package/dist/components/post-logo.js +3 -4
  143. package/dist/components/post-mainnavigation.js +21 -32
  144. package/dist/components/post-megadropdown-trigger.js +72 -79
  145. package/dist/components/post-megadropdown.js +183 -78
  146. package/dist/components/post-menu-item2.js +1 -1
  147. package/dist/components/post-menu-trigger2.js +2 -3
  148. package/dist/components/post-menu2.js +35 -36
  149. package/dist/components/post-pagination.d.ts +11 -0
  150. package/dist/components/post-pagination.js +635 -0
  151. package/dist/components/post-popover-trigger.js +41 -26
  152. package/dist/components/post-popover.js +9 -10
  153. package/dist/components/post-popovercontainer2.js +44 -40
  154. package/dist/components/post-rating.js +3 -4
  155. package/dist/components/post-stepper-item.d.ts +11 -0
  156. package/dist/components/post-stepper-item.js +33 -0
  157. package/dist/components/{post-list-item.d.ts → post-stepper.d.ts} +4 -4
  158. package/dist/components/post-stepper.js +136 -0
  159. package/dist/components/{post-tab-header.d.ts → post-tab-item.d.ts} +4 -4
  160. package/dist/components/post-tab-item.js +70 -0
  161. package/dist/components/post-tab-panel.js +8 -9
  162. package/dist/components/post-tabs.js +192 -37
  163. package/dist/components/post-togglebutton.js +1 -51
  164. package/dist/components/post-togglebutton2.js +53 -0
  165. package/dist/components/post-tooltip-trigger.js +3 -3
  166. package/dist/components/post-tooltip.js +3 -4
  167. package/dist/components/react/index.js +1 -1
  168. package/dist/{cjs/breakpoints-CEkeixld.js → components/react/p-B8YiQ3mz.js} +89 -6
  169. package/dist/components/react/{p-2U_BGLjc.js → p-BOLlAY91.js} +9 -7
  170. package/dist/components/react/p-BVCjnh6Q.js +36 -0
  171. package/dist/components/react/{p-CBFgkSgY.js → p-BVGcVycs.js} +1 -1
  172. package/dist/components/react/{p-D4NSCxrX.js → p-BYCGzO-t.js} +13 -13
  173. package/dist/components/react/p-C9hMpmsD.js +11 -0
  174. package/dist/components/react/{p-BVXiQdHq.js → p-CJ13r5fi.js} +29 -21
  175. package/dist/components/react/{p-nSFSgY-P.js → p-CnZWXrbA.js} +40 -41
  176. package/dist/components/react/p-CoDiS_Ik.js +24 -0
  177. package/dist/components/react/p-CyniMNY-.js +54 -0
  178. package/dist/components/react/p-D5knoiyy.js +24 -0
  179. package/dist/components/react/{p-Ccgu_WOx.js → p-DBO6FfHt.js} +4 -5
  180. package/dist/components/react/{p-BfLuYwf7.js → p-DRfa3MOV.js} +26 -26
  181. package/dist/components/react/{p-BUxAs8N5.js → p-DYImHx0e.js} +4 -5
  182. package/dist/components/react/p-DZ5m2Ttg.js +3 -0
  183. package/dist/components/react/p-FxUVQ4Tx.js +49 -0
  184. package/dist/components/react/{p-BK474oMI.js → p-L36-yvgK.js} +2 -2
  185. package/dist/components/react/{p-DVxZMuPW.js → p-NCAcc7ZZ.js} +6 -7
  186. package/dist/components/react/{p-mENtrn2l.js → p-QNPIvxLq.js} +45 -41
  187. package/dist/components/react/{p-D3CFjhAf.js → p-_pLhqTys.js} +5 -6
  188. package/dist/components/react/p-c6yNOQwn.js +113 -0
  189. package/dist/components/react/{p-CzIKqBrS.js → p-rEfV4v4a.js} +2 -2
  190. package/dist/components/react/post-accordion-item.js +1 -1
  191. package/dist/components/react/post-accordion.js +1 -1
  192. package/dist/components/react/post-avatar.js +4 -5
  193. package/dist/components/react/post-back-to-top.js +16 -42
  194. package/dist/components/react/post-banner.js +7 -8
  195. package/dist/components/react/post-breadcrumb-item.js +1 -1
  196. package/dist/components/react/post-breadcrumbs.js +31 -41
  197. package/dist/components/react/post-card-control.js +6 -7
  198. package/dist/components/react/post-closebutton.js +1 -1
  199. package/dist/components/react/post-collapsible-trigger.js +1 -1
  200. package/dist/components/react/post-collapsible.js +1 -1
  201. package/dist/components/react/{post-list.d.ts → post-env-test.d.ts} +4 -4
  202. package/dist/components/react/post-env-test.js +32 -0
  203. package/dist/components/react/post-footer.js +23 -22
  204. package/dist/components/react/post-header.js +158 -121
  205. package/dist/components/react/post-icon.js +1 -1
  206. package/dist/components/react/post-language-menu-item.d.ts +11 -0
  207. package/dist/components/react/post-language-menu-item.js +99 -0
  208. package/dist/components/react/{post-language-option.d.ts → post-language-menu.d.ts} +4 -4
  209. package/dist/components/react/post-language-menu.js +157 -0
  210. package/dist/components/react/post-linkarea.js +2 -2
  211. package/dist/components/react/post-logo.js +4 -5
  212. package/dist/components/react/post-mainnavigation.js +23 -34
  213. package/dist/components/react/post-megadropdown-trigger.js +74 -81
  214. package/dist/components/react/post-megadropdown.js +185 -80
  215. package/dist/components/react/post-menu-item.js +1 -1
  216. package/dist/components/react/post-menu-trigger.js +1 -1
  217. package/dist/components/react/post-menu.js +1 -1
  218. package/dist/components/react/post-pagination.d.ts +11 -0
  219. package/dist/components/react/post-pagination.js +636 -0
  220. package/dist/components/react/post-popover-trigger.js +42 -27
  221. package/dist/components/react/post-popover.js +14 -15
  222. package/dist/components/react/post-popovercontainer.js +1 -1
  223. package/dist/components/react/post-rating.js +5 -6
  224. package/dist/components/react/post-stepper-item.d.ts +11 -0
  225. package/dist/components/react/post-stepper-item.js +34 -0
  226. package/dist/components/react/{post-list-item.d.ts → post-stepper.d.ts} +4 -4
  227. package/dist/components/react/post-stepper.js +137 -0
  228. package/dist/components/react/{post-tab-header.d.ts → post-tab-item.d.ts} +4 -4
  229. package/dist/components/react/post-tab-item.js +71 -0
  230. package/dist/components/react/post-tab-panel.js +9 -10
  231. package/dist/components/react/post-tabs.js +193 -38
  232. package/dist/components/react/post-togglebutton.js +1 -52
  233. package/dist/components/react/post-tooltip-trigger.js +4 -4
  234. package/dist/components/react/post-tooltip.js +5 -6
  235. package/dist/components/utils.js +24 -0
  236. package/dist/docs.json +968 -563
  237. package/dist/esm/{breakpoints-CJ80BZ06.js → breakpoints-DYoSKGHO.js} +90 -3
  238. package/dist/esm/debounce-C9hMpmsD.js +11 -0
  239. package/dist/esm/environment-CEmnRoA6.js +49 -0
  240. package/dist/esm/{event-from-CzIKqBrS.js → event-from-rEfV4v4a.js} +2 -2
  241. package/dist/esm/fade-DsgPYmAa.js +24 -0
  242. package/dist/esm/fade-slide-CvOvauo9.js +36 -0
  243. package/dist/esm/{get-focusable-children-D9ZHp2FP.js → get-focusable-children-BXNs2_sw.js} +29 -21
  244. package/dist/esm/{get-root-BkQ3CrLq.js → get-root-CXfAA093.js} +1 -1
  245. package/dist/esm/{index-CFNKgUjL.js → index-1ReqxAnI.js} +29 -13
  246. package/dist/esm/loader.js +3 -3
  247. package/dist/esm/package-DZ5m2Ttg.js +3 -0
  248. package/dist/esm/post-accordion_2.entry.js +10 -10
  249. package/dist/esm/post-avatar.entry.js +6 -6
  250. package/dist/esm/post-back-to-top.entry.js +16 -40
  251. package/dist/esm/post-banner.entry.js +10 -9
  252. package/dist/esm/post-breadcrumb-item_2.entry.js +6 -6
  253. package/dist/esm/post-breadcrumbs.entry.js +20 -29
  254. package/dist/esm/post-card-control.entry.js +6 -6
  255. package/dist/esm/{post-closebutton_15.entry.js → post-closebutton_13.entry.js} +518 -486
  256. package/dist/esm/post-collapsible_2.entry.js +36 -35
  257. package/dist/esm/post-components.js +3 -3
  258. package/dist/esm/post-env-test.entry.js +13 -0
  259. package/dist/esm/post-footer.entry.js +18 -16
  260. package/dist/esm/post-linkarea.entry.js +3 -3
  261. package/dist/esm/post-pagination.entry.js +587 -0
  262. package/dist/esm/post-popover-trigger.entry.js +44 -28
  263. package/dist/esm/post-popover.entry.js +11 -11
  264. package/dist/esm/post-rating.entry.js +5 -5
  265. package/dist/esm/post-stepper-item.entry.js +16 -0
  266. package/dist/esm/post-stepper.entry.js +107 -0
  267. package/dist/esm/post-tab-item.entry.js +47 -0
  268. package/dist/esm/post-tab-panel.entry.js +9 -9
  269. package/dist/esm/post-tabs.entry.js +191 -38
  270. package/dist/esm/post-tooltip-trigger.entry.js +5 -5
  271. package/dist/esm/post-tooltip.entry.js +6 -6
  272. package/dist/esm/utils-CoDiS_Ik.js +24 -0
  273. package/dist/post-components/{p-8f0fc02a.entry.js → p-130eb074.entry.js} +1 -1
  274. package/dist/post-components/p-13d018fe.entry.js +1 -0
  275. package/dist/post-components/p-143e5a84.entry.js +1 -0
  276. package/dist/post-components/p-1ReqxAnI.js +2 -0
  277. package/dist/post-components/p-2b220851.entry.js +1 -0
  278. package/dist/post-components/{p-96750e25.entry.js → p-390f111f.entry.js} +1 -1
  279. package/dist/post-components/p-3cf09fbd.entry.js +1 -0
  280. package/dist/post-components/p-52e584ca.entry.js +1 -0
  281. package/dist/post-components/p-56a4040c.entry.js +1 -0
  282. package/dist/post-components/p-675dab57.entry.js +1 -0
  283. package/dist/post-components/p-6857fd9d.entry.js +1 -0
  284. package/dist/post-components/p-7cd00e3e.entry.js +1 -0
  285. package/dist/post-components/p-7f5d2487.entry.js +1 -0
  286. package/dist/post-components/{p-bf41fe56.entry.js → p-88201353.entry.js} +1 -1
  287. package/dist/post-components/p-89360cd1.entry.js +1 -0
  288. package/dist/post-components/p-B7ebLhHc.js +1 -0
  289. package/dist/post-components/p-BVCjnh6Q.js +1 -0
  290. package/dist/post-components/p-BXNs2_sw.js +1 -0
  291. package/dist/post-components/p-C9hMpmsD.js +1 -0
  292. package/dist/post-components/p-CEmnRoA6.js +1 -0
  293. package/dist/post-components/p-CoDiS_Ik.js +1 -0
  294. package/dist/post-components/p-D5knoiyy.js +1 -0
  295. package/dist/post-components/p-DI-h_mEL.js +1 -0
  296. package/dist/post-components/p-DZ5m2Ttg.js +1 -0
  297. package/dist/post-components/p-a740eaed.entry.js +1 -0
  298. package/dist/post-components/{p-261b1452.entry.js → p-a79590f5.entry.js} +1 -1
  299. package/dist/post-components/p-b708d96a.entry.js +1 -0
  300. package/dist/post-components/p-bcf5786f.entry.js +1 -0
  301. package/dist/post-components/p-c92512f5.entry.js +1 -0
  302. package/dist/post-components/{p-658b1ccc.entry.js → p-d7cb3a61.entry.js} +1 -1
  303. package/dist/post-components/p-d7f33813.entry.js +1 -0
  304. package/dist/post-components/p-da97ee21.entry.js +1 -0
  305. package/dist/post-components/{p-11c204e0.entry.js → p-ed4db774.entry.js} +1 -1
  306. package/dist/post-components/post-components.css +1 -1
  307. package/dist/post-components/post-components.esm.js +1 -1
  308. package/dist/prebuild.js +46 -0
  309. package/dist/types/animations/collapse.d.ts +1 -0
  310. package/dist/types/animations/fade-slide.d.ts +11 -0
  311. package/dist/types/animations/fade.d.ts +2 -2
  312. package/dist/types/animations/index.d.ts +2 -0
  313. package/dist/types/animations/slide.d.ts +9 -2
  314. package/dist/types/animations/types.d.ts +13 -0
  315. package/dist/types/animations/utils.d.ts +2 -0
  316. package/dist/types/components/post-accordion-item/heading-levels.d.ts +1 -1
  317. package/dist/types/components/post-accordion-item/post-accordion-item.d.ts +2 -2
  318. package/dist/types/components/post-back-to-top/post-back-to-top.d.ts +2 -2
  319. package/dist/types/components/post-breadcrumbs/post-breadcrumbs.d.ts +6 -6
  320. package/dist/types/components/post-collapsible/post-collapsible.d.ts +4 -5
  321. package/dist/types/components/post-collapsible-trigger/post-collapsible-trigger.d.ts +1 -0
  322. package/dist/types/components/post-footer/post-footer.d.ts +4 -4
  323. package/dist/types/components/post-header/post-header.d.ts +28 -19
  324. package/dist/types/components/{post-language-switch/post-language-switch.d.ts → post-language-menu/post-language-menu.d.ts} +6 -6
  325. package/dist/types/components/{post-language-option/post-language-option.d.ts → post-language-menu-item/post-language-menu-item.d.ts} +5 -5
  326. package/dist/types/components/post-mainnavigation/post-mainnavigation.d.ts +6 -5
  327. package/dist/types/components/post-megadropdown/post-megadropdown.d.ts +20 -2
  328. package/dist/types/components/post-megadropdown-trigger/post-megadropdown-trigger.d.ts +17 -23
  329. package/dist/types/components/post-menu/post-menu.d.ts +4 -4
  330. package/dist/types/components/post-pagination/post-pagination.d.ts +224 -0
  331. package/dist/types/components/post-popover/post-popover.d.ts +3 -3
  332. package/dist/types/components/post-popover-trigger/post-popover-trigger.d.ts +2 -1
  333. package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +13 -16
  334. package/dist/types/components/post-rating/post-rating.d.ts +1 -1
  335. package/dist/types/components/post-stepper/post-stepper.d.ts +39 -0
  336. package/dist/types/components/post-stepper-item/post-stepper-item.d.ts +3 -0
  337. package/dist/types/components/post-tab-item/post-tab-item.d.ts +19 -0
  338. package/dist/types/components/post-tab-panel/post-tab-panel.d.ts +3 -3
  339. package/dist/types/components/post-tabs/post-tabs.d.ts +33 -12
  340. package/dist/types/components.d.ts +357 -186
  341. package/dist/types/home/runner/work/design-system/design-system/packages/components/.stencil/prebuild.d.ts +9 -0
  342. package/dist/types/types/heading-levels.d.ts +1 -1
  343. package/dist/types/utils/environment.d.ts +25 -1
  344. package/dist/types/utils/get-focusable-children.d.ts +2 -2
  345. package/dist/types/utils/tests/environment/hydrate-app-helper.d.ts +5 -0
  346. package/dist/types/utils/tests/environment/post-env-test.d.ts +3 -0
  347. package/hydrate/index.js +1882 -833
  348. package/hydrate/index.mjs +1882 -833
  349. package/package.json +9 -11
  350. package/dist/cjs/fade-nS5zzDQS.js +0 -14
  351. package/dist/cjs/index-DtvYdwe1.js +0 -96
  352. package/dist/cjs/post-tab-header.cjs.entry.js +0 -31
  353. package/dist/collection/animations/slide-and-fade.js +0 -25
  354. package/dist/collection/components/post-language-option/post-language-option.css +0 -1
  355. package/dist/collection/components/post-language-switch/post-language-switch.css +0 -1
  356. package/dist/collection/components/post-list/post-list.css +0 -1
  357. package/dist/collection/components/post-list/post-list.js +0 -97
  358. package/dist/collection/components/post-list-item/post-list-item.css +0 -1
  359. package/dist/collection/components/post-list-item/post-list-item.js +0 -26
  360. package/dist/collection/components/post-tab-header/post-tab-header.css +0 -1
  361. package/dist/collection/components/post-tab-header/post-tab-header.js +0 -65
  362. package/dist/components/index2.js +0 -88
  363. package/dist/components/post-language-option.d.ts +0 -11
  364. package/dist/components/post-language-option.js +0 -99
  365. package/dist/components/post-language-switch.js +0 -157
  366. package/dist/components/post-list-item.js +0 -38
  367. package/dist/components/post-list.js +0 -61
  368. package/dist/components/post-tab-header.js +0 -52
  369. package/dist/components/react/p-BXRsHuTS.js +0 -3
  370. package/dist/components/react/p-CV7fm1rW.js +0 -88
  371. package/dist/components/react/p-Dj7qWba5.js +0 -114
  372. package/dist/components/react/p-SbIC4aZX.js +0 -11
  373. package/dist/components/react/post-language-option.js +0 -100
  374. package/dist/components/react/post-language-switch.d.ts +0 -11
  375. package/dist/components/react/post-language-switch.js +0 -158
  376. package/dist/components/react/post-list-item.js +0 -39
  377. package/dist/components/react/post-list.js +0 -62
  378. package/dist/components/react/post-tab-header.js +0 -53
  379. package/dist/esm/fade-SbIC4aZX.js +0 -11
  380. package/dist/esm/index-VmK3ABCB.js +0 -88
  381. package/dist/esm/package-BXRsHuTS.js +0 -3
  382. package/dist/esm/post-tab-header.entry.js +0 -29
  383. package/dist/post-components/p-02ea3ec5.entry.js +0 -1
  384. package/dist/post-components/p-0e92dbef.entry.js +0 -1
  385. package/dist/post-components/p-0ec2bdd7.entry.js +0 -1
  386. package/dist/post-components/p-197a0f25.entry.js +0 -1
  387. package/dist/post-components/p-3274ab81.entry.js +0 -1
  388. package/dist/post-components/p-77e43032.entry.js +0 -1
  389. package/dist/post-components/p-BXRsHuTS.js +0 -1
  390. package/dist/post-components/p-CBFgkSgY.js +0 -1
  391. package/dist/post-components/p-CFNKgUjL.js +0 -2
  392. package/dist/post-components/p-CJ80BZ06.js +0 -1
  393. package/dist/post-components/p-D9ZHp2FP.js +0 -1
  394. package/dist/post-components/p-SbIC4aZX.js +0 -1
  395. package/dist/post-components/p-VmK3ABCB.js +0 -1
  396. package/dist/post-components/p-b5b5e4b9.entry.js +0 -1
  397. package/dist/post-components/p-b8059ba1.entry.js +0 -1
  398. package/dist/post-components/p-d6134e24.entry.js +0 -1
  399. package/dist/post-components/p-e7029b9e.entry.js +0 -1
  400. package/dist/post-components/p-e90688ab.entry.js +0 -1
  401. package/dist/post-components/p-ea5da614.entry.js +0 -1
  402. package/dist/post-components/p-f1b815b6.entry.js +0 -1
  403. package/dist/types/animations/slide-and-fade.d.ts +0 -2
  404. package/dist/types/components/post-list/post-list.d.ts +0 -24
  405. package/dist/types/components/post-list-item/post-list-item.d.ts +0 -8
  406. package/dist/types/components/post-tab-header/post-tab-header.d.ts +0 -14
  407. /package/dist/collection/components/{post-language-switch → post-language-menu}/switch-variants.js +0 -0
  408. /package/dist/post-components/{p-CzIKqBrS.js → p-rEfV4v4a.js} +0 -0
  409. /package/dist/types/components/{post-language-switch → post-language-menu}/switch-variants.d.ts +0 -0
@@ -1,7 +1,92 @@
1
- 'use strict';
1
+ import { a as IS_SERVER } from './p-FxUVQ4Tx.js';
2
2
 
3
- const IS_SERVER = typeof window === 'undefined';
4
- const IS_BROWSER = !IS_SERVER;
3
+ const EMPTY_VALUES = [undefined, null, '', NaN];
4
+
5
+ function isValueEmpty(value) {
6
+ return EMPTY_VALUES.some(v => v === value);
7
+ }
8
+
9
+ function requiredAnd(check) {
10
+ return (component, prop, ...extraArgs) => {
11
+ const componentName = component.host.localName;
12
+ const value = component[prop];
13
+ const message = `The prop \`${String(prop)}\` of the \`${componentName}\` component is not defined.`;
14
+ if (isValueEmpty(value)) {
15
+ throw new Error(message);
16
+ }
17
+ else {
18
+ check(component, prop, ...extraArgs);
19
+ }
20
+ };
21
+ }
22
+
23
+ function checkOneOf(component, prop, possibleValues) {
24
+ const componentName = component.host.localName;
25
+ const value = component[prop];
26
+ const message = `The prop \`${String(prop)}\` of the \`${componentName}\` component must be one of the following values: ${possibleValues.join(', ')}.`;
27
+ if (!possibleValues.includes(value)) {
28
+ console.error(message);
29
+ }
30
+ }
31
+
32
+ function checkPattern(component, prop, pattern) {
33
+ const componentName = component.host.localName;
34
+ const value = component[prop];
35
+ const message = `The prop \`${String(prop)}\` of the \`${componentName}\` component must follow the format \`${pattern}\`.`;
36
+ if (typeof value !== 'string' || !pattern.test(value)) {
37
+ console.error(message);
38
+ }
39
+ }
40
+
41
+ function checkType(component, prop, type) {
42
+ const componentName = component.host.localName;
43
+ const value = component[prop];
44
+ const typeIsArray = type === 'array';
45
+ const valueIsArray = Array.isArray(value);
46
+ const message = `The prop \`${String(prop)}\` of the \`${componentName}\` component must be of type \`${type}\`.`;
47
+ if (typeIsArray || valueIsArray) {
48
+ if (valueIsArray !== typeIsArray) {
49
+ console.error(message);
50
+ }
51
+ }
52
+ else if (typeof value !== type) {
53
+ console.error(message);
54
+ }
55
+ }
56
+
57
+ function checkUrl(component, prop) {
58
+ const componentName = component.host.localName;
59
+ const value = component[prop];
60
+ const message = `The prop \`${String(prop)}\` of the \`${componentName}\` component is invalid.`;
61
+ if (typeof value !== 'string' && !(value instanceof URL)) {
62
+ console.error(message);
63
+ return;
64
+ }
65
+ try {
66
+ new URL(value, 'https://www.post.ch');
67
+ }
68
+ catch {
69
+ console.error(message);
70
+ }
71
+ }
72
+
73
+ function emptyOr(check) {
74
+ return (component, prop, ...extraArgs) => {
75
+ const value = component[prop];
76
+ if (!isValueEmpty(value)) {
77
+ check(component, prop, ...extraArgs);
78
+ }
79
+ };
80
+ }
81
+
82
+ const checkEmptyOrOneOf = emptyOr(checkOneOf);
83
+ const checkEmptyOrPattern = emptyOr(checkPattern);
84
+ const checkEmptyOrType = emptyOr(checkType);
85
+ const checkEmptyOrUrl = emptyOr(checkUrl);
86
+ const checkRequiredAndOneOf = requiredAnd(checkOneOf);
87
+ const checkRequiredAndPattern = requiredAnd(checkPattern);
88
+ const checkRequiredAndType = requiredAnd(checkType);
89
+ const checkRequiredAndUrl = requiredAnd(checkUrl);
5
90
 
6
91
  /* eslint-disable no-undefined,no-param-reassign,no-shadow */
7
92
 
@@ -177,6 +262,4 @@ class Breakpoint {
177
262
  }
178
263
  const breakpoint = new Breakpoint();
179
264
 
180
- exports.IS_BROWSER = IS_BROWSER;
181
- exports.breakpoint = breakpoint;
182
- exports.throttle = throttle;
265
+ export { checkEmptyOrUrl as a, checkRequiredAndOneOf as b, checkRequiredAndType as c, checkEmptyOrOneOf as d, checkEmptyOrType as e, checkRequiredAndUrl as f, breakpoint as g, checkRequiredAndPattern as h, checkEmptyOrPattern as i, throttle as t };
@@ -1,7 +1,7 @@
1
1
  import { p as proxyCustomElement, H, h, a as Host } from './index.js';
2
- import { I as IS_BROWSER } from './p-CJ80BZ06.js';
3
- import { d as checkEmptyOrOneOf, e as checkEmptyOrType, c as checkRequiredAndType } from './p-CV7fm1rW.js';
4
- import { v as version } from './p-BXRsHuTS.js';
2
+ import { I as IS_BROWSER } from './p-FxUVQ4Tx.js';
3
+ import { d as checkEmptyOrOneOf, e as checkEmptyOrType, c as checkRequiredAndType } from './p-B8YiQ3mz.js';
4
+ import { v as version } from './p-DZ5m2Ttg.js';
5
5
 
6
6
  const postIconCss = ":host{display:inline-block;width:1em;height:1em;vertical-align:-0.15em}span{display:block;width:100%;height:100%;fill:currentColor;forced-color-adjust:preserve-parent-color;background-color:currentColor;-webkit-mask-position:center center;mask-position:center center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100%;mask-size:100%}:host([flip-h]:not([flip-h=false])){scale:-1 1}:host([flip-v]:not([flip-v=false])){scale:1 -1}:host([flip-h][flip-v]:not([flip-h=false],[flip-v=false])){scale:-1}:host([animation]){transform-origin:center}:host([animation=cylon]){animation:icon-animation-cylon .75s ease-in-out infinite alternate}:host([animation=cylon-vertical]){animation:icon-animation-cylon-vertical .75s ease-in-out infinite alternate}:host([animation=spin]){animation:icon-animation-spin 2s linear infinite normal}:host([animation=spin-reverse]){animation:icon-animation-spin 2s linear infinite reverse}:host([animation=fade]){animation:icon-animation-fade .75s ease-in-out infinite alternate}:host([animation=throb]){animation:icon-animation-throb .75s ease-in-out infinite alternate}@keyframes icon-animation-cylon{from{transform:translateX(-25%)}to{transform:translateX(25%)}}@keyframes icon-animation-cylon-vertical{from{transform:translateY(25%)}to{transform:translateY(-25%)}}@keyframes icon-animation-fade{from{opacity:.1}to{opacity:1}}@keyframes icon-animation-spin{from{transform:rotate(0deg)}to{transform:rotate(359deg)}}@keyframes icon-animation-throb{from{opacity:.5;transform:scale(0.5)}to{opacity:1;transform:scale(1)}}";
7
7
 
@@ -67,9 +67,11 @@ const PostIcon = /*@__PURE__*/ proxyCustomElement(class PostIcon extends H {
67
67
  const baseHref = IS_BROWSER
68
68
  ? document.querySelector('base[href]')?.getAttribute('href') || ''
69
69
  : '';
70
- const metaIconBase = IS_BROWSER
71
- ? document.querySelector('meta[name="design-system-settings"]')?.getAttribute('data-post-icon-base') || ''
72
- : '';
70
+ let metaIconBase = '';
71
+ if (IS_BROWSER) {
72
+ const metaTag = document.querySelector('meta[name="design-system-settings"]');
73
+ metaIconBase = metaTag?.getAttribute('data-post-icon-base') || '';
74
+ }
73
75
  // Function to build the first part of the URL when 'this.base' or 'metaIconBase' are relative
74
76
  const buildUrlWithBase = (relativeUrl) => {
75
77
  const normalizedHref = normalizeUrl(baseHref);
@@ -116,7 +118,7 @@ const PostIcon = /*@__PURE__*/ proxyCustomElement(class PostIcon extends H {
116
118
  this.validateAnimation();
117
119
  }
118
120
  render() {
119
- return (h(Host, { key: '0031b3e2e4016f9b28cade66fa435741940946a7', "data-version": version }, h("span", { key: '0efbcdd5f1dd737640238a0ab81b67ca8218adec', style: this.getStyles() })));
121
+ return (h(Host, { key: '6469b748f2792c383593dacd1d9f1f17daf9cde0', "data-version": version }, h("span", { key: '9f4d9766dc97a07a2562dbc3bb0931de29fe9757', style: this.getStyles() })));
120
122
  }
121
123
  get host() { return this; }
122
124
  static get watchers() { return {
@@ -0,0 +1,36 @@
1
+ import { r as resolveEasing } from './p-CoDiS_Ik.js';
2
+
3
+ /**
4
+ * Used by
5
+ * 1. PostHeader (burger menu)
6
+ * 2. PostMegadropdown
7
+ * 3. BackToTopButton
8
+ */
9
+ const defaultOptions = {
10
+ duration: 500,
11
+ easing: 'ease',
12
+ fill: 'none',
13
+ translate: -100,
14
+ };
15
+ function animateFadeSlide(el, keyframes, options) {
16
+ const { duration, easing, fill } = { ...defaultOptions, ...options };
17
+ return el.animate(keyframes, {
18
+ duration,
19
+ easing: resolveEasing(easing),
20
+ fill,
21
+ });
22
+ }
23
+ function fadeSlide(el, direction, options) {
24
+ if (!el)
25
+ return;
26
+ const mergedOptions = options;
27
+ const { translate } = mergedOptions;
28
+ const baseKeyframes = [
29
+ { opacity: '0', transform: `translateY(${translate}px)` },
30
+ { opacity: '1', transform: 'translateY(0px)' },
31
+ ];
32
+ const keyframes = direction === 'in' ? baseKeyframes : [...baseKeyframes].reverse();
33
+ return animateFadeSlide(el, keyframes, options);
34
+ }
35
+
36
+ export { fadeSlide as f };
@@ -1,4 +1,4 @@
1
- import { I as IS_BROWSER } from './p-CJ80BZ06.js';
1
+ import { I as IS_BROWSER } from './p-FxUVQ4Tx.js';
2
2
 
3
3
  /**
4
4
  * getRootNode() can only be used after the element has been attached to the document!
@@ -1,9 +1,8 @@
1
1
  import { p as proxyCustomElement, H, h, a as Host } from './index.js';
2
- import { v as version } from './p-BXRsHuTS.js';
3
- import { c as checkRequiredAndType } from './p-CV7fm1rW.js';
4
- import './p-CJ80BZ06.js';
5
- import { E as EventFrom } from './p-CzIKqBrS.js';
6
- import { g as getRoot } from './p-CBFgkSgY.js';
2
+ import { v as version } from './p-DZ5m2Ttg.js';
3
+ import { c as checkRequiredAndType } from './p-B8YiQ3mz.js';
4
+ import { E as EventFrom } from './p-rEfV4v4a.js';
5
+ import { g as getRoot } from './p-BVGcVycs.js';
7
6
 
8
7
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
9
8
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -16,18 +15,19 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
16
15
  return c > 3 && r && Object.defineProperty(target, key, r), r;
17
16
  };
18
17
  const PostCollapsibleTrigger = /*@__PURE__*/ proxyCustomElement(class PostCollapsibleTrigger extends H {
19
- constructor() {
20
- super();
21
- this.__registerHost();
22
- this.__attachShadow();
23
- this.observer = new MutationObserver(() => this.setTrigger());
24
- }
25
18
  /**
26
19
  * Set the "aria-controls" and "aria-expanded" attributes on the trigger to match the state of the controlled post-collapsible
27
20
  */
28
21
  validateAriaAttributes() {
29
22
  checkRequiredAndType(this, 'for', 'string');
30
23
  }
24
+ constructor() {
25
+ super();
26
+ this.__registerHost();
27
+ this.__attachShadow();
28
+ this.observer = new MutationObserver(() => this.setTrigger());
29
+ this.handlePostToggle = this.handlePostToggle.bind(this);
30
+ }
31
31
  /**
32
32
  * Initiate a mutation observer that updates the trigger whenever necessary
33
33
  */
@@ -44,7 +44,7 @@ const PostCollapsibleTrigger = /*@__PURE__*/ proxyCustomElement(class PostCollap
44
44
  }
45
45
  disconnectedCallback() {
46
46
  this.observer.disconnect();
47
- this.root.removeEventListener('postToggle', this.handlePostToggle);
47
+ this.root?.removeEventListener('postToggle', this.handlePostToggle);
48
48
  }
49
49
  /**
50
50
  * Update the "aria-controls" and "aria-expanded" attributes on the trigger button
@@ -103,7 +103,7 @@ const PostCollapsibleTrigger = /*@__PURE__*/ proxyCustomElement(class PostCollap
103
103
  this.updateAriaAttributes();
104
104
  }
105
105
  render() {
106
- return (h(Host, { key: 'd0851c032e622f4a182e1321331e84eaa0440245', "data-version": version }, h("slot", { key: 'd495c42f409de0f9230c01031ecddab69cead1b7' })));
106
+ return (h(Host, { key: 'f5055d5970eb900d345957f306c9a373680f257a', "data-version": version }, h("slot", { key: 'cf63bdbca00602b9c4e2a81f28723bd274561045' })));
107
107
  }
108
108
  get host() { return this; }
109
109
  static get watchers() { return {
@@ -0,0 +1,11 @@
1
+ function debounce(callback, timeout = 200) {
2
+ let id;
3
+ return (...args) => {
4
+ if (id) {
5
+ clearTimeout(id);
6
+ }
7
+ id = setTimeout(callback, timeout, ...args);
8
+ };
9
+ }
10
+
11
+ export { debounce as d };
@@ -27,32 +27,40 @@ function getFocusableChildren(element) {
27
27
  const focusableChildren = element.querySelectorAll(`${focusableSelector}:not(${focusDisablingSelector})`);
28
28
  return Array.from(focusableChildren).filter(isVisible);
29
29
  }
30
- // Searches deeper accross shadowDom
31
- function getDeepFocusableChildren(element) {
32
- const results = [];
33
- function traverse(node) {
30
+ // Searches deeper across shadow DOM
31
+ function getDeepFocusableChildren(el, filter, visited = new Set()) {
32
+ if (visited.has(el))
33
+ return [];
34
+ visited.add(el);
35
+ let nodes = [];
36
+ // SLOT
37
+ if (el instanceof HTMLSlotElement) {
38
+ const assigned = el.assignedElements({ flatten: true });
39
+ nodes = assigned.length ? assigned : Array.from(el.children);
40
+ }
41
+ // SHADOW ROOT
42
+ else if (el instanceof HTMLElement && el.shadowRoot) {
43
+ nodes = Array.from(el.shadowRoot.children);
44
+ }
45
+ // NORMAL ELEMENT
46
+ else if (el instanceof Element) {
47
+ nodes = Array.from(el.children);
48
+ }
49
+ if (filter) {
50
+ nodes = nodes.filter(filter);
51
+ }
52
+ const focusableElements = [];
53
+ for (const node of nodes) {
34
54
  if (isElementFocusable(node)) {
35
- results.push(node);
36
- }
37
- if (node instanceof HTMLElement && node.shadowRoot) {
38
- traverse(node.shadowRoot);
39
- }
40
- for (const child of Array.from(node.children)) {
41
- traverse(child);
42
- }
43
- if (node instanceof HTMLElement) {
44
- for (const slot of Array.from(node.querySelectorAll('slot'))) {
45
- for (const el of slot.assignedElements({ flatten: true })) {
46
- traverse(el);
47
- }
48
- }
55
+ focusableElements.push(node);
56
+ continue;
49
57
  }
58
+ focusableElements.push(...getDeepFocusableChildren(node, filter, visited));
50
59
  }
51
- traverse(element);
52
- return results;
60
+ return focusableElements;
53
61
  }
54
62
  function isVisible(el) {
55
- const style = window.getComputedStyle(el.parentElement);
63
+ const style = window.getComputedStyle(el);
56
64
  return style.display !== 'none' && style.visibility !== 'hidden';
57
65
  }
58
66
  function isElementFocusable(node) {
@@ -1,13 +1,12 @@
1
1
  import { p as proxyCustomElement, H, c as createEvent, h, a as Host } from './index.js';
2
- import { a as PLACEMENT_TYPES, d as defineCustomElement$1 } from './p-mENtrn2l.js';
3
- import { v as version } from './p-BXRsHuTS.js';
4
- import { g as getFocusableChildren } from './p-BVXiQdHq.js';
5
- import { d as checkEmptyOrOneOf, c as checkRequiredAndType } from './p-CV7fm1rW.js';
6
- import './p-CJ80BZ06.js';
7
- import { E as EventFrom } from './p-CzIKqBrS.js';
8
- import { g as getRoot } from './p-CBFgkSgY.js';
2
+ import { a as PLACEMENT_TYPES, d as defineCustomElement$1 } from './p-QNPIvxLq.js';
3
+ import { v as version } from './p-DZ5m2Ttg.js';
4
+ import { g as getFocusableChildren } from './p-CJ13r5fi.js';
5
+ import { d as checkEmptyOrOneOf, c as checkRequiredAndType } from './p-B8YiQ3mz.js';
6
+ import { E as EventFrom } from './p-rEfV4v4a.js';
7
+ import { g as getRoot } from './p-BVGcVycs.js';
9
8
 
10
- const postMenuCss = ":host{display:block}:where([part=menu]){display:flex;flex-direction:column;padding-block:.5rem}::slotted([slot=header]){margin-top:-0.5rem;padding:1rem;display:flex;align-items:center;gap:.5rem;border-block-end:1px solid #050400;font-weight:700}@media screen and (max-width: 1023.98px){::slotted([slot=header]){padding:.75rem 1rem}}@media screen and (max-width: 779.98px){::slotted([slot=header]){padding:.5rem 1rem}}";
9
+ const postMenuCss = ":host{display:block}:where([part=post-menu]){display:flex;flex-direction:column;padding-block:.5rem}::slotted([slot=header]){margin-top:-0.5rem;padding:1rem;display:flex;align-items:center;gap:.5rem;border-block-end:1px solid #050400;font-weight:700}@media screen and (max-width: 1023.98px){::slotted([slot=header]){padding:.75rem 1rem}}@media screen and (max-width: 779.98px){::slotted([slot=header]){padding:.5rem 1rem}}";
11
10
 
12
11
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
13
12
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -58,35 +57,6 @@ const PostMenu = /*@__PURE__*/ proxyCustomElement(class PostMenu extends H {
58
57
  this.controlKeyDownHandler(e);
59
58
  }
60
59
  };
61
- this.handlePostShown = (event) => {
62
- // Only for the first open
63
- if (event.detail.first) {
64
- // Add "menu" and "menuitem" aria roles and aria-label
65
- this.host.setAttribute('role', 'menu');
66
- const menuItems = this.getSlottedItems();
67
- for (const item of menuItems) {
68
- item.setAttribute('role', 'menuitem');
69
- }
70
- if (this.label)
71
- this.host.setAttribute('aria-label', this.label);
72
- }
73
- };
74
- this.handlePostToggled = (event) => {
75
- this.isVisible = event.detail.isOpen;
76
- this.toggleMenu.emit(this.isVisible);
77
- if (this.isVisible) {
78
- this.lastFocusedElement = this.root?.activeElement;
79
- requestAnimationFrame(() => {
80
- const menuItems = this.getSlottedItems();
81
- if (menuItems.length > 0) {
82
- menuItems[0].focus();
83
- }
84
- });
85
- }
86
- else if (this.lastFocusedElement) {
87
- this.lastFocusedElement.focus();
88
- }
89
- };
90
60
  this.handleClick = (e) => {
91
61
  const target = e.target;
92
62
  if (['BUTTON', 'A', 'INPUT', 'SELECT', 'TEXTAREA'].includes(target.tagName)) {
@@ -148,6 +118,35 @@ const PostMenu = /*@__PURE__*/ proxyCustomElement(class PostMenu extends H {
148
118
  console.error('hide: popoverRef is null or undefined');
149
119
  }
150
120
  }
121
+ handlePostShown(event) {
122
+ // Only for the first open
123
+ if (event.detail.first) {
124
+ // Add "menu" and "menuitem" aria roles and aria-label
125
+ this.host.setAttribute('role', 'menu');
126
+ const menuItems = this.getSlottedItems();
127
+ for (const item of menuItems) {
128
+ item.setAttribute('role', 'menuitem');
129
+ }
130
+ if (this.label)
131
+ this.host.setAttribute('aria-label', this.label);
132
+ }
133
+ }
134
+ handlePostToggled(event) {
135
+ this.isVisible = event.detail.isOpen;
136
+ this.toggleMenu.emit(this.isVisible);
137
+ if (this.isVisible) {
138
+ this.lastFocusedElement = this.root?.activeElement;
139
+ requestAnimationFrame(() => {
140
+ const menuItems = this.getSlottedItems();
141
+ if (menuItems.length > 0) {
142
+ menuItems[0].focus();
143
+ }
144
+ });
145
+ }
146
+ else if (this.lastFocusedElement) {
147
+ this.lastFocusedElement.focus();
148
+ }
149
+ }
151
150
  controlKeyDownHandler(e) {
152
151
  const menuItems = this.getSlottedItems();
153
152
  if (!menuItems.length) {
@@ -195,7 +194,7 @@ const PostMenu = /*@__PURE__*/ proxyCustomElement(class PostMenu extends H {
195
194
  .flatMap(el => Array.from(getFocusableChildren(el))));
196
195
  }
197
196
  render() {
198
- return (h(Host, { key: 'eef3d3cdf2553c2627ddf580a95c70f00c02d388', "data-version": version }, h("post-popovercontainer", { key: '27c3341bec9d4ee98b59f70e902913f03954c32c', onPostShow: this.handlePostShown, onPostToggle: this.handlePostToggled, placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: 'ef6c0ab8b6de380c23f6562a3d0ba34d9eaace98', part: "menu" }, h("slot", { key: 'edca1d3e9ab11d016ba18baf9f8d6aa65bb71958', name: "header" }), h("slot", { key: '40596847f9bac957a5992364997f0bcd8fd6a704' })))));
197
+ return (h(Host, { key: '08285b17608e5bc3133a3da6015a5a0d4de6ec29', "data-version": version }, h("post-popovercontainer", { key: '17e45869b5e76cdd9bd43ca77b2f0b3876462014', onPostShow: this.handlePostShown.bind(this), onPostToggle: this.handlePostToggled.bind(this), placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: 'e2486aa099ffc8ac59885a0971ebb13649a49a35', part: "post-menu" }, h("slot", { key: '9f0e05f211fe18cf5beed8e1b33bde26d4974e24', name: "header" }), h("slot", { key: '971ac8ad433467a2ebe2429574cb10dbdadbcf25' })))));
199
198
  }
200
199
  get host() { return this; }
201
200
  static get watchers() { return {
@@ -205,7 +204,7 @@ const PostMenu = /*@__PURE__*/ proxyCustomElement(class PostMenu extends H {
205
204
  static get style() { return postMenuCss; }
206
205
  }, [1, "post-menu", {
207
206
  "placement": [1],
208
- "label": [1],
207
+ "label": [513],
209
208
  "isVisible": [32],
210
209
  "toggle": [64],
211
210
  "show": [64],
@@ -216,10 +215,10 @@ const PostMenu = /*@__PURE__*/ proxyCustomElement(class PostMenu extends H {
216
215
  }]);
217
216
  __decorate([
218
217
  EventFrom('post-popovercontainer')
219
- ], PostMenu.prototype, "handlePostShown", void 0);
218
+ ], PostMenu.prototype, "handlePostShown", null);
220
219
  __decorate([
221
220
  EventFrom('post-popovercontainer')
222
- ], PostMenu.prototype, "handlePostToggled", void 0);
221
+ ], PostMenu.prototype, "handlePostToggled", null);
223
222
  function defineCustomElement() {
224
223
  if (typeof customElements === "undefined") {
225
224
  return;
@@ -0,0 +1,24 @@
1
+ const headerEase = {
2
+ x1: 0.8,
3
+ y1: 0.2,
4
+ x2: 0.8,
5
+ y2: 0.7,
6
+ };
7
+ const PRESET_MAP = {
8
+ 'linear': 'linear',
9
+ 'ease': 'ease',
10
+ 'ease-in': 'ease-in',
11
+ 'ease-out': 'ease-out',
12
+ 'ease-in-out': 'ease-in-out',
13
+ 'headerEase': headerEase,
14
+ };
15
+
16
+ function resolveEasing(easing) {
17
+ const e = typeof easing === 'string' ? (PRESET_MAP[easing] ?? easing) : easing;
18
+ if (typeof e === 'string')
19
+ return e;
20
+ const { x1, y1, x2, y2 } = e;
21
+ return `cubic-bezier(${x1}, ${y1}, ${x2}, ${y2})`;
22
+ }
23
+
24
+ export { resolveEasing as r };
@@ -0,0 +1,54 @@
1
+ import { p as proxyCustomElement, H, h, a as Host } from './index.js';
2
+ import { v as version } from './p-DZ5m2Ttg.js';
3
+
4
+ const postTogglebuttonCss = ":host{cursor:pointer;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}:host(:focus-visible){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host(:focus-visible){outline-color:Highlight !important}}:host([aria-pressed=true]) ::slotted([data-showwhen=untoggled]){display:none}:host([aria-pressed=false]) ::slotted([data-showwhen=toggled]){display:none}";
5
+
6
+ const PostTogglebutton = /*@__PURE__*/ proxyCustomElement(class PostTogglebutton extends H {
7
+ constructor() {
8
+ super();
9
+ this.__registerHost();
10
+ this.__attachShadow();
11
+ /**
12
+ * If `true`, the button is in the "on" state, otherwise it is in the "off" state.
13
+ */
14
+ this.toggled = false;
15
+ this.handleClick = () => {
16
+ this.toggled = !this.toggled;
17
+ };
18
+ this.handleKeydown = (event) => {
19
+ // perform a click when enter or spaced are pressed to mimic the button behavior
20
+ if (event.key === 'Enter' || event.key === ' ') {
21
+ event.preventDefault(); // prevents the page from scrolling when space is pressed
22
+ this.host.click();
23
+ }
24
+ };
25
+ }
26
+ componentWillLoad() {
27
+ // add event listener to not override listener that might be set on the host
28
+ this.host.addEventListener('click', () => this.handleClick());
29
+ this.host.addEventListener('keydown', (e) => this.handleKeydown(e));
30
+ }
31
+ render() {
32
+ return (h(Host, { key: 'a526ab3b0ae14c93bb4e1a8dc6d3ded4ff1bf014', "data-version": version, role: "button", tabindex: "0", "aria-pressed": this.toggled.toString() }, h("slot", { key: 'e8a5bdd99d9270cfcf014306a8d7fe8a2b6b79ba' })));
33
+ }
34
+ get host() { return this; }
35
+ static get style() { return postTogglebuttonCss; }
36
+ }, [1, "post-togglebutton", {
37
+ "toggled": [1028]
38
+ }]);
39
+ function defineCustomElement() {
40
+ if (typeof customElements === "undefined") {
41
+ return;
42
+ }
43
+ const components = ["post-togglebutton"];
44
+ components.forEach(tagName => { switch (tagName) {
45
+ case "post-togglebutton":
46
+ if (!customElements.get(tagName)) {
47
+ customElements.define(tagName, PostTogglebutton);
48
+ }
49
+ break;
50
+ } });
51
+ }
52
+ defineCustomElement();
53
+
54
+ export { PostTogglebutton as P, defineCustomElement as d };
@@ -0,0 +1,24 @@
1
+ import { r as resolveEasing } from './p-CoDiS_Ik.js';
2
+
3
+ const defaultOptions = {
4
+ duration: 200,
5
+ easing: 'linear',
6
+ fill: 'forwards',
7
+ };
8
+ function animateFade(el, keyframes, options = {}) {
9
+ const { duration, easing, fill } = { ...defaultOptions, ...options };
10
+ return el.animate(keyframes, {
11
+ duration,
12
+ easing: resolveEasing(easing),
13
+ fill,
14
+ });
15
+ }
16
+ function fade(el, direction, options = {}) {
17
+ if (!el)
18
+ return;
19
+ const baseKeyframes = [{ opacity: '0' }, { opacity: '1' }];
20
+ const keyframes = direction === 'in' ? baseKeyframes : [...baseKeyframes].reverse();
21
+ return animateFade(el, keyframes, options);
22
+ }
23
+
24
+ export { fade as f };
@@ -1,8 +1,7 @@
1
1
  import { p as proxyCustomElement, H, h, a as Host } from './index.js';
2
- import { v as version } from './p-BXRsHuTS.js';
3
- import { a as checkEmptyOrUrl } from './p-CV7fm1rW.js';
4
- import './p-CJ80BZ06.js';
5
- import { d as defineCustomElement$1 } from './p-2U_BGLjc.js';
2
+ import { v as version } from './p-DZ5m2Ttg.js';
3
+ import { a as checkEmptyOrUrl } from './p-B8YiQ3mz.js';
4
+ import { d as defineCustomElement$1 } from './p-BOLlAY91.js';
6
5
 
7
6
  const postBreadcrumbItemCss = ":host{display:flex;align-items:center;justify-content:start;gap:var(--post-device-spacing-gap-inline-5)}:host post-icon{box-sizing:border-box;height:var(--post-core-dimension-24);width:var(--post-core-dimension-24);padding-block:var(--post-core-dimension-4);padding-inline:var(--post-core-dimension-4)}.breadcrumb-item{white-space:nowrap;line-height:150%;padding-block:var(--post-device-spacing-padding-block-7);color:var(--post-scheme-color-interactive-primary-enabled-fg1);text-decoration:var(--post-core-text-decoration-none)}.breadcrumb-item{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}.breadcrumb-item:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.breadcrumb-item:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.breadcrumb-item:is(:focus-visible,:focus-within,.pretend-focus){outline-style:var(--post-core-border-style-solid) !important}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.breadcrumb-item:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}.breadcrumb-item:hover{color:var(--post-scheme-color-interactive-primary-hover-fg1);text-decoration:var(--post-core-text-decoration-underline)}.breadcrumb-item:focus-visible{border-radius:var(--post-device-border-radius-focus)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.breadcrumb-item,.breadcrumb-item:focus,.breadcrumb-item:hover{color:LinkText !important}.breadcrumb-item:visited{color:VisitedText !important}}";
8
7
 
@@ -44,7 +43,7 @@ const PostBreadcrumbItem = /*@__PURE__*/ proxyCustomElement(class PostBreadcrumb
44
43
  }
45
44
  render() {
46
45
  const BreadcrumbTag = this.validUrl ? 'a' : 'span';
47
- return (h(Host, { key: '9ccdcf67335a106fd70e1d756a941736827454c0', "data-version": version }, h("post-icon", { key: 'c2061015e34cc3c37d343abd872bd8bd3cc82615', name: "chevronright", class: "breadcrumb-item-icon" }), h(BreadcrumbTag, { key: '3e9659ac705d801699167864a06cde461bc84185', class: "breadcrumb-item", ...(this.validUrl ? { href: this.validUrl } : {}), onKeyDown: event => this.handleKeyDown(event) }, h("slot", { key: 'e86e3333db8b0636a9a9635a5f11960c7d839e3d' }))));
46
+ return (h(Host, { key: 'ea3421ed24d2db8fc8c647eeafd04032996a4ae5', "data-version": version }, h("post-icon", { key: 'f2278fc5c68bbf509a44e53ec7f789d396bd75f1', name: "chevronright", class: "breadcrumb-item-icon" }), h(BreadcrumbTag, { key: '60d899795489fdbe9246fda24623289b5994af72', class: "breadcrumb-item", ...(this.validUrl ? { href: this.validUrl } : {}), onKeyDown: event => this.handleKeyDown(event) }, h("slot", { key: '7d87b12cba90f865ef02e1c66fd600703c00456e' }))));
48
47
  }
49
48
  get host() { return this; }
50
49
  static get watchers() { return {