@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,9 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Cb8CTrOz.js');
4
- var _package = require('./package-CvZxvdTJ.js');
5
- var fade = require('./fade-nS5zzDQS.js');
6
- require('./breakpoints-CEkeixld.js');
3
+ var index = require('./index-CKNxhb0S.js');
4
+ var _package = require('./package-CY7IOoiw.js');
5
+ var fade = require('./fade-CPQhl1fP.js');
6
+ var breakpoints = require('./breakpoints-Df03Ct7n.js');
7
+ require('./utils-s05L2ulk.js');
8
+ require('./environment-BQE9Unf_.js');
7
9
 
8
10
  /**
9
11
  * Invoke the `componentOnReady` method if it is available, simulate it otherwise
@@ -33,42 +35,162 @@ const PostTabs = class {
33
35
  index.registerInstance(this, hostRef);
34
36
  this.postChange = index.createEvent(this, "postChange");
35
37
  this.isLoaded = false;
38
+ this.isNavigationMode = false;
36
39
  /**
37
40
  * When set to true, this property allows the tabs container to span the
41
+ * Changing this value after initialization has no effect.
38
42
  * full width of the screen, from edge to edge.
39
43
  */
40
44
  this.fullWidth = false;
41
45
  }
42
46
  get tabs() {
43
- return Array.from(this.host.querySelectorAll('post-tab-header')).filter(tab => tab.closest('post-tabs') === this.host);
47
+ return Array.from(this.host.querySelectorAll('post-tab-item')).filter(tab => tab.closest('post-tabs') === this.host);
48
+ }
49
+ get panels() {
50
+ return Array.from(this.host.querySelectorAll('post-tab-panel')).filter(panel => panel.closest('post-tabs') === this.host);
51
+ }
52
+ validateLabel() {
53
+ if (this.isNavigationMode) {
54
+ breakpoints.checkRequiredAndType(this, 'label', 'string');
55
+ }
56
+ }
57
+ componentWillRender() {
58
+ this.detectMode();
44
59
  }
45
60
  componentDidLoad() {
46
61
  this.moveMisplacedTabs();
62
+ this.moveMisplacedPanels();
47
63
  this.enableTabs();
48
- const initiallyActivePanel = this.activePanel || this.tabs[0]?.panel;
49
- void this.show(initiallyActivePanel);
50
- this.isLoaded = true;
64
+ this.setupContentObserver();
65
+ this.validateLabel();
66
+ if (this.isNavigationMode) {
67
+ const activeTab = this.findActiveNavigationTab();
68
+ if (activeTab) {
69
+ this.activateTab(activeTab);
70
+ }
71
+ }
72
+ else {
73
+ const tabToActivate = this.activeTab || this.tabs[0]?.name;
74
+ if (tabToActivate) {
75
+ void this.show(tabToActivate);
76
+ }
77
+ }
78
+ }
79
+ disconnectedCallback() {
80
+ if (this.showing) {
81
+ this.showing.cancel();
82
+ this.showing = null;
83
+ }
84
+ if (this.hiding) {
85
+ this.hiding.cancel();
86
+ this.hiding = null;
87
+ }
88
+ if (this.contentObserver) {
89
+ this.contentObserver.disconnect();
90
+ }
91
+ }
92
+ setupContentObserver() {
93
+ const config = {
94
+ childList: true,
95
+ subtree: true,
96
+ attributes: true,
97
+ attributeFilter: ['data-navigation-mode', 'aria-current'],
98
+ };
99
+ this.contentObserver = new MutationObserver(this.handleContentChange.bind(this));
100
+ this.contentObserver.observe(this.host, config);
101
+ }
102
+ handleContentChange(mutations) {
103
+ const shouldRedetect = this.shouldRedetectMode(mutations);
104
+ const ariaCurrentChanged = this.hasAriaCurrentChanged(mutations);
105
+ if (ariaCurrentChanged && this.isNavigationMode) {
106
+ this.updateActiveNavigationTab();
107
+ }
108
+ if (shouldRedetect) {
109
+ this.handleModeChange();
110
+ }
111
+ }
112
+ shouldRedetectMode(mutations) {
113
+ return mutations.some(mutation => {
114
+ if (mutation.type === 'childList') {
115
+ return mutation.addedNodes.length > 0 || mutation.removedNodes.length > 0;
116
+ }
117
+ if (mutation.type === 'attributes' && mutation.attributeName === 'data-navigation-mode') {
118
+ return true;
119
+ }
120
+ return false;
121
+ });
122
+ }
123
+ hasAriaCurrentChanged(mutations) {
124
+ return mutations.some(mutation => mutation.type === 'attributes' && mutation.attributeName === 'aria-current');
125
+ }
126
+ updateActiveNavigationTab() {
127
+ const activeTab = this.findActiveNavigationTab();
128
+ if (activeTab && activeTab !== this.currentActiveTab) {
129
+ this.activateTab(activeTab);
130
+ }
131
+ }
132
+ handleModeChange() {
133
+ const previousMode = this.isNavigationMode;
134
+ this.detectMode();
135
+ if (previousMode !== this.isNavigationMode) {
136
+ this.enableTabs();
137
+ this.initializeActiveTab();
138
+ }
139
+ }
140
+ initializeActiveTab() {
141
+ if (this.isNavigationMode) {
142
+ const activeTab = this.findActiveNavigationTab();
143
+ if (activeTab) {
144
+ this.activateTab(activeTab);
145
+ }
146
+ }
147
+ else {
148
+ const tabToActivate = this.activeTab || this.tabs[0]?.name;
149
+ if (tabToActivate) {
150
+ void this.show(tabToActivate);
151
+ }
152
+ }
153
+ }
154
+ detectMode() {
155
+ // Check for navigation mode by looking for anchor elements in tabs
156
+ // This works even before post-tab-item sets data-navigation-mode attribute
157
+ const hasNavigationTabs = this.tabs.some(tab => {
158
+ const hasAnchor = tab.querySelector('a') !== null;
159
+ const navModeAttr = tab.getAttribute('data-navigation-mode') === 'true';
160
+ return hasAnchor || navModeAttr;
161
+ });
162
+ const hasPanels = this.panels.length > 0;
163
+ if (hasNavigationTabs && hasPanels) {
164
+ throw new Error('PostTabs: Mixed mode detected. Cannot use both navigation mode (anchor elements) and panel mode (post-tab-panel elements) at the same time.');
165
+ }
166
+ this.isNavigationMode = hasNavigationTabs;
167
+ }
168
+ findActiveNavigationTab() {
169
+ return (this.tabs.find(tab => {
170
+ const anchor = tab.querySelector('a[aria-current="page"]');
171
+ return anchor !== null;
172
+ }) || null);
51
173
  }
52
174
  /**
53
175
  * Shows the panel with the given name and selects its associated tab.
54
176
  * Any other panel that was previously shown becomes hidden and its associated tab is unselected.
55
177
  */
56
- async show(panelName) {
178
+ async show(tabName) {
57
179
  // do nothing if the tab is already active
58
- if (panelName === this.activeTab?.panel) {
180
+ if (tabName === this.currentActiveTab?.name) {
59
181
  return;
60
182
  }
61
- const previousTab = this.activeTab;
62
- const newTab = this.host.querySelector(`post-tab-header[panel=${panelName}]`);
183
+ const previousTab = this.currentActiveTab;
184
+ const newTab = this.host.querySelector(`post-tab-item[name=${tabName}]`);
63
185
  this.activateTab(newTab);
64
186
  // if a panel is currently being displayed, remove it from the view and complete the associated animation
65
187
  if (this.showing) {
66
- this.showing.effect['target'].style.display = 'none';
67
188
  this.showing.finish();
189
+ this.showing = null;
68
190
  }
69
191
  // hide the currently visible panel only if no other animation is running
70
192
  if (previousTab && !this.showing && !this.hiding)
71
- this.hidePanel(previousTab.panel);
193
+ this.hidePanel(previousTab.name);
72
194
  // wait for any hiding animation to complete before showing the selected tab
73
195
  if (this.hiding)
74
196
  await this.hiding.finished;
@@ -77,15 +199,25 @@ const PostTabs = class {
77
199
  if (this.showing)
78
200
  await this.showing.finished;
79
201
  if (this.isLoaded)
80
- this.postChange.emit(this.activeTab.panel);
202
+ this.postChange.emit(this.currentActiveTab.name);
81
203
  }
82
204
  moveMisplacedTabs() {
83
205
  if (!this.tabs)
84
206
  return;
85
207
  this.tabs.forEach(tab => {
86
- if (tab.getAttribute('slot') === 'tabs')
87
- return;
88
- tab.setAttribute('slot', 'tabs');
208
+ // Tab items should go in the default slot, so remove any slot attribute
209
+ if (tab.getAttribute('slot')) {
210
+ tab.removeAttribute('slot');
211
+ }
212
+ });
213
+ }
214
+ moveMisplacedPanels() {
215
+ if (!this.panels)
216
+ return;
217
+ this.panels.forEach(panel => {
218
+ if (panel.getAttribute('slot') !== 'panels') {
219
+ panel.setAttribute('slot', 'panels');
220
+ }
89
221
  });
90
222
  }
91
223
  enableTabs() {
@@ -93,19 +225,25 @@ const PostTabs = class {
93
225
  return;
94
226
  this.tabs.forEach(async (tab) => {
95
227
  await componentOnReady(tab);
96
- // if the tab has an "aria-controls" attribute it was already linked to its panel: do nothing
228
+ // In navigation mode, navigation is handled by the consumer's routing
229
+ if (this.isNavigationMode) {
230
+ return;
231
+ }
232
+ // Panel mode: set up ARIA relationships and event handlers
97
233
  if (tab.getAttribute('aria-controls'))
98
234
  return;
99
- const tabPanel = this.getPanel(tab.panel);
100
- tab.setAttribute('aria-controls', tabPanel.id);
101
- tabPanel.setAttribute('aria-labelledby', tab.id);
235
+ const tabPanel = this.getPanel(tab.name);
236
+ if (tabPanel) {
237
+ tab.setAttribute('aria-controls', tabPanel.id);
238
+ tabPanel.setAttribute('aria-labelledby', tab.id);
239
+ }
102
240
  tab.addEventListener('click', () => {
103
- void this.show(tab.panel);
241
+ void this.show(tab.name);
104
242
  });
105
243
  tab.addEventListener('keydown', (e) => {
106
244
  if (e.key === 'Enter' || e.key === ' ') {
107
245
  e.preventDefault();
108
- void this.show(tab.panel);
246
+ void this.show(tab.name);
109
247
  }
110
248
  });
111
249
  tab.addEventListener('keydown', (e) => {
@@ -114,44 +252,51 @@ const PostTabs = class {
114
252
  });
115
253
  });
116
254
  // if the currently active tab was removed from the DOM then select the first one
117
- if (this.activeTab && !this.activeTab.isConnected) {
118
- void this.show(this.tabs[0]?.panel);
255
+ if (this.currentActiveTab && !this.currentActiveTab.isConnected) {
256
+ void this.show(this.tabs[0]?.name);
119
257
  }
120
258
  }
121
259
  activateTab(tab) {
122
- if (this.activeTab) {
123
- this.activeTab.setAttribute('aria-selected', 'false');
124
- this.activeTab.setAttribute('tabindex', '-1');
125
- this.activeTab.classList.remove('active');
260
+ // Deactivate previous tab
261
+ if (this.currentActiveTab) {
262
+ this.currentActiveTab.classList.remove('active');
263
+ if (!this.isNavigationMode) {
264
+ this.currentActiveTab.setAttribute('aria-selected', 'false');
265
+ this.currentActiveTab.setAttribute('tabindex', '-1');
266
+ }
126
267
  }
127
- tab.setAttribute('aria-selected', 'true');
128
- tab.setAttribute('tabindex', '0');
129
268
  tab.classList.add('active');
130
- this.activeTab = tab;
269
+ if (!this.isNavigationMode) {
270
+ tab.setAttribute('aria-selected', 'true');
271
+ tab.setAttribute('tabindex', '0');
272
+ }
273
+ this.currentActiveTab = tab;
131
274
  }
132
275
  hidePanel(panelName) {
133
276
  const previousPanel = this.getPanel(panelName);
134
277
  if (!previousPanel)
135
278
  return;
136
- this.hiding = fade.fadeOut(previousPanel);
279
+ this.hiding = fade.fade(previousPanel, 'out');
137
280
  this.hiding.onfinish = () => {
138
281
  previousPanel.style.display = 'none';
139
282
  this.hiding = null;
140
283
  };
141
284
  }
142
285
  showSelectedPanel() {
143
- const panel = this.getPanel(this.activeTab.panel);
286
+ const panel = this.getPanel(this.currentActiveTab.name);
287
+ if (!panel)
288
+ return;
144
289
  panel.style.display = 'block';
145
290
  // prevent the initially selected panel from fading in
146
291
  if (!this.isLoaded)
147
292
  return;
148
- this.showing = fade.fadeIn(panel);
293
+ this.showing = fade.fade(panel, 'in');
149
294
  this.showing.onfinish = () => {
150
295
  this.showing = null;
151
296
  };
152
297
  }
153
298
  getPanel(name) {
154
- return this.host.querySelector(`post-tab-panel[name=${name}]`);
299
+ return this.host.querySelector(`post-tab-panel[for=${name}]`);
155
300
  }
156
301
  navigateTabs(tab, key) {
157
302
  const activeTabIndex = Array.from(this.tabs).indexOf(tab);
@@ -165,11 +310,19 @@ const PostTabs = class {
165
310
  if (!nextTab)
166
311
  return;
167
312
  nextTab.focus();
313
+ void this.show(nextTab.name);
168
314
  }
169
315
  render() {
170
- return (index.h(index.Host, { key: '3e352bc059be99242f612a49bdea71fd065d67b0', "data-version": _package.version }, index.h("div", { key: '34d608d7af834fd4fb3106ac3fb90100a9b73138', class: "tabs-wrapper", part: "tabs" }, index.h("div", { key: '102e75b53d3e485a185d391f84755142d8690de6', class: "tabs", role: "tablist" }, index.h("slot", { key: '03624f2944dfd37d3eb3403772d430a6e053e676', name: "tabs", onSlotchange: () => this.enableTabs() }))), index.h("div", { key: '8c7c956b831ef19fb093122ca35c14b5a015dad3', class: "tab-content", part: "content" }, index.h("slot", { key: '8fad35a2a6d26814f513c422b4fcbe98aae7bd22', onSlotchange: () => this.moveMisplacedTabs() }))));
316
+ const TabsContainer = this.isNavigationMode ? 'nav' : 'div';
317
+ return (index.h(index.Host, { key: '0d2ce5c335e58aeb6231ad4d63a44324eb35f54a', "data-version": _package.version }, index.h("div", { key: 'd8b0ad389fd4ba8010c7816472373d6a8d4a3aa4', class: "tabs-wrapper", part: "post-tabs" }, index.h(TabsContainer, { key: 'fd8ae3c19f12138936a39028f117aec1d41ea992', class: "tabs", role: this.isNavigationMode ? undefined : 'tablist', "aria-label": this.isNavigationMode ? this.label : undefined }, index.h("slot", { key: '3148c5c8f508a6c3f2daab075f8ab2d91c567343', onSlotchange: () => {
318
+ this.moveMisplacedTabs();
319
+ this.enableTabs();
320
+ } }))), !this.isNavigationMode && (index.h("div", { key: '4ea329e77c108dd2b25db6efa116a68a3a415af6', class: "tab-content", part: "post-tabs-content" }, index.h("slot", { key: '28efc229a3f3f6f4f9cee157ff453c860c5ffa9e', name: "panels", onSlotchange: () => this.moveMisplacedPanels() })))));
171
321
  }
172
322
  get host() { return index.getElement(this); }
323
+ static get watchers() { return {
324
+ "label": ["validateLabel"]
325
+ }; }
173
326
  };
174
327
  PostTabs.style = postTabsCss;
175
328
 
@@ -1,15 +1,15 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Cb8CTrOz.js');
4
- var breakpoints = require('./breakpoints-CEkeixld.js');
5
- var index$1 = require('./index-DtvYdwe1.js');
6
- var _package = require('./package-CvZxvdTJ.js');
3
+ var index = require('./index-CKNxhb0S.js');
4
+ var environment = require('./environment-BQE9Unf_.js');
5
+ var breakpoints = require('./breakpoints-Df03Ct7n.js');
6
+ var _package = require('./package-CY7IOoiw.js');
7
7
  var focusable = require('./focusable-D6snQLqS.js');
8
8
 
9
9
  const postTooltipTriggerCss = "post-tooltip-trigger{vertical-align:top}:host{cursor:pointer}";
10
10
 
11
11
  const TRIGGER_EVENTS = ['pointerenter', 'pointerleave', 'focusin', 'focusout', 'long-press'];
12
- if (breakpoints.IS_BROWSER) {
12
+ if (environment.IS_BROWSER) {
13
13
  (async () => {
14
14
  await Promise.resolve().then(function () { return require('./long-press-event-Q8jMUNXD.js'); });
15
15
  })();
@@ -33,10 +33,10 @@ const PostTooltipTrigger = class {
33
33
  this.boundTooltipHandler = this.handleTooltipEvent.bind(this);
34
34
  }
35
35
  validateControlFor() {
36
- index$1.checkEmptyOrType(this, 'for', 'string');
36
+ breakpoints.checkEmptyOrType(this, 'for', 'string');
37
37
  }
38
38
  get tooltip() {
39
- if (!breakpoints.IS_BROWSER)
39
+ if (!environment.IS_BROWSER)
40
40
  return null;
41
41
  const ref = document.getElementById(this.for);
42
42
  return ref?.localName === 'post-tooltip' ? ref : null;
@@ -173,7 +173,7 @@ const PostTooltipTrigger = class {
173
173
  this.tooltip?.hide();
174
174
  }
175
175
  render() {
176
- return (index.h(index.Host, { key: 'e545db2bc489025c51e51f680f4139b508ef09f8', "data-version": _package.version }, index.h("slot", { key: '90abc548bccbc51d233001c98d289fd60599c482', onSlotchange: () => this.handleSlotChange() })));
176
+ return (index.h(index.Host, { key: '272df9fbda27a695e083a71e7740dd6c8c3afb2d', "data-version": _package.version }, index.h("slot", { key: '616b48a7dcbe591f4490aa8ec41abf43c17259bb', onSlotchange: () => this.handleSlotChange() })));
177
177
  }
178
178
  get host() { return index.getElement(this); }
179
179
  static get watchers() { return {
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Cb8CTrOz.js');
4
- var _package = require('./package-CvZxvdTJ.js');
5
- var index$1 = require('./index-DtvYdwe1.js');
6
- require('./breakpoints-CEkeixld.js');
3
+ var index = require('./index-CKNxhb0S.js');
4
+ var _package = require('./package-CY7IOoiw.js');
5
+ var breakpoints = require('./breakpoints-Df03Ct7n.js');
7
6
  var placement = require('./placement-qEFR9hmI.js');
7
+ require('./environment-BQE9Unf_.js');
8
8
 
9
- const postTooltipCss = ":host{display:none}:host([open]){display:contents}post-popovercontainer[arrow]::after{position:absolute;content:\"\";inset:-13px;z-index:-1}post-popovercontainer>div{color:var(--post-current-fg);background-color:var(--post-current-bg);padding:var(--post-core-dimension-4) var(--post-core-dimension-8);max-width:280px;min-height:32px;word-wrap:break-word;white-space:normal}";
9
+ const postTooltipCss = ":host{display:none}:host([open]){display:contents}post-popovercontainer[arrow]::after{position:absolute;content:\"\";inset:-13px;z-index:-1}post-popovercontainer>div{color:var(--post-current-fg);background-color:var(--post-current-bg);padding:var(--post-core-dimension-4) var(--post-core-dimension-8);max-width:var(--post-tooltip-max-width, 280px);width:inherit;min-height:32px;word-wrap:break-word;white-space:normal}";
10
10
 
11
11
  const PostTooltip = class {
12
12
  constructor(hostRef) {
@@ -27,7 +27,7 @@ const PostTooltip = class {
27
27
  this.open = false;
28
28
  }
29
29
  validatePlacement() {
30
- index$1.checkEmptyOrOneOf(this, 'placement', placement.PLACEMENT_TYPES);
30
+ breakpoints.checkEmptyOrOneOf(this, 'placement', placement.PLACEMENT_TYPES);
31
31
  }
32
32
  componentWillLoad() {
33
33
  this.validatePlacement();
@@ -71,7 +71,7 @@ const PostTooltip = class {
71
71
  }
72
72
  render() {
73
73
  const popoverClass = `${this.arrow ? 'has-arrow' : ''}`;
74
- return (index.h(index.Host, { key: '0755eeba6f7be3cd0d94138369355df9767ca541', "data-version": _package.version }, index.h("post-popovercontainer", { key: '1e1d71a4878e60f9e20b34b5f12588e09a8c7716', safeSpace: "trapezoid", class: popoverClass, role: "tooltip", arrow: this.arrow, animation: this.animation, placement: this.placement, onPostToggle: e => this.handleToggle(e), ref: (el) => (this.popoverRef = el) }, index.h("slot", { key: '25a69d406a91cb0ba8d4c5fadee44d937c84a266' }))));
74
+ return (index.h(index.Host, { key: 'a9ce457973507a7cd05edb774c84c769ba11bcce', "data-version": _package.version }, index.h("post-popovercontainer", { key: '8fa8c699ddccd7d46f240992ab1d7e515637cab5', safeSpace: "trapezoid", class: popoverClass, role: "tooltip", arrow: this.arrow, animation: this.animation, placement: this.placement, onPostToggle: e => this.handleToggle(e), ref: (el) => (this.popoverRef = el) }, index.h("slot", { key: '2ce3408b95a511b9c3c91905fff7142b3598fc55' }))));
75
75
  }
76
76
  get host() { return index.getElement(this); }
77
77
  static get watchers() { return {
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ const headerEase = {
4
+ x1: 0.8,
5
+ y1: 0.2,
6
+ x2: 0.8,
7
+ y2: 0.7,
8
+ };
9
+ const PRESET_MAP = {
10
+ 'linear': 'linear',
11
+ 'ease': 'ease',
12
+ 'ease-in': 'ease-in',
13
+ 'ease-out': 'ease-out',
14
+ 'ease-in-out': 'ease-in-out',
15
+ 'headerEase': headerEase,
16
+ };
17
+
18
+ function resolveEasing(easing) {
19
+ const e = typeof easing === 'string' ? (PRESET_MAP[easing] ?? easing) : easing;
20
+ if (typeof e === 'string')
21
+ return e;
22
+ const { x1, y1, x2, y2 } = e;
23
+ return `cubic-bezier(${x1}, ${y1}, ${x2}, ${y2})`;
24
+ }
25
+
26
+ exports.resolveEasing = resolveEasing;
@@ -1,9 +1,9 @@
1
- import { IS_BROWSER } from "../utils/index";
1
+ import { IS_BROWSER, isMotionReduced } from "../utils/index";
2
2
  const collapseDuration = 350;
3
3
  const collapseEasing = 'ease';
4
- const collapsedKeyframe = { height: '0', overflow: 'hidden' };
4
+ export const collapsedKeyframe = { height: '0', overflow: 'hidden' };
5
5
  const animationOptions = {
6
- duration: collapseDuration,
6
+ duration: isMotionReduced() ? 0 : collapseDuration,
7
7
  easing: collapseEasing,
8
8
  fill: 'forwards',
9
9
  };
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Used by
3
+ * 1. PostHeader (burger menu)
4
+ * 2. PostMegadropdown
5
+ * 3. BackToTopButton
6
+ */
7
+ import { resolveEasing } from "./utils";
8
+ const defaultOptions = {
9
+ duration: 500,
10
+ easing: 'ease',
11
+ fill: 'none',
12
+ translate: -100,
13
+ };
14
+ function animateFadeSlide(el, keyframes, options) {
15
+ const { duration, easing, fill } = { ...defaultOptions, ...options };
16
+ return el.animate(keyframes, {
17
+ duration,
18
+ easing: resolveEasing(easing),
19
+ fill,
20
+ });
21
+ }
22
+ export function fadeSlide(el, direction, options) {
23
+ if (!el)
24
+ return;
25
+ const mergedOptions = options;
26
+ const { translate } = mergedOptions;
27
+ const baseKeyframes = [
28
+ { opacity: '0', transform: `translateY(${translate}px)` },
29
+ { opacity: '1', transform: 'translateY(0px)' },
30
+ ];
31
+ const keyframes = direction === 'in' ? baseKeyframes : [...baseKeyframes].reverse();
32
+ return animateFadeSlide(el, keyframes, options);
33
+ }
@@ -1,9 +1,21 @@
1
- const fadeDuration = 200;
2
- const fadedOutKeyframe = { opacity: '0' };
3
- const fadedInKeyframe = { opacity: '1' };
4
- export function fadeIn(el) {
5
- return el.animate([fadedOutKeyframe, fadedInKeyframe], { duration: fadeDuration });
1
+ import { resolveEasing } from "./utils";
2
+ const defaultOptions = {
3
+ duration: 200,
4
+ easing: 'linear',
5
+ fill: 'forwards',
6
+ };
7
+ function animateFade(el, keyframes, options = {}) {
8
+ const { duration, easing, fill } = { ...defaultOptions, ...options };
9
+ return el.animate(keyframes, {
10
+ duration,
11
+ easing: resolveEasing(easing),
12
+ fill,
13
+ });
6
14
  }
7
- export function fadeOut(el) {
8
- return el.animate([fadedInKeyframe, fadedOutKeyframe], { duration: fadeDuration });
15
+ export function fade(el, direction, options = {}) {
16
+ if (!el)
17
+ return;
18
+ const baseKeyframes = [{ opacity: '0' }, { opacity: '1' }];
19
+ const keyframes = direction === 'in' ? baseKeyframes : [...baseKeyframes].reverse();
20
+ return animateFade(el, keyframes, options);
9
21
  }
@@ -1 +1,3 @@
1
1
  export * from './fade';
2
+ export * from './slide';
3
+ export * from './fade-slide';
@@ -1,23 +1,27 @@
1
- const easing = 'ease';
2
- const duration = 500;
3
- const fill = 'forwards';
4
- export function slideUp(el, translateSize = '-100%') {
5
- return el.animate([
6
- { transform: 'translateY(0)' }, // Starting position (no translation)
7
- { transform: `translateY(${translateSize})` }, // End position
8
- ], {
9
- duration: duration,
10
- easing,
11
- fill,
12
- });
1
+ /**
2
+ * Used by PostMegadropdown (burger menu)
3
+ */
4
+ import { resolveEasing } from "./utils";
5
+ const defaultOptions = {
6
+ translate: 100,
7
+ duration: 500,
8
+ easing: 'ease',
9
+ fill: 'none',
10
+ };
11
+ function animateSlide(el, keyframes, options) {
12
+ const { duration, easing, fill } = { ...defaultOptions, ...options };
13
+ return el.animate(keyframes, { duration, easing: resolveEasing(easing), fill });
13
14
  }
14
- export function slideDown(el, translateSize = '-100%') {
15
- return el.animate([
16
- { transform: `translateY(${translateSize})` }, // Starting position (no translation)
17
- { transform: 'translateY(0)' }, // End position
18
- ], {
19
- duration: duration,
20
- easing,
21
- fill,
22
- });
15
+ export function slide(el, direction, options = {}) {
16
+ const mergedOptions = {
17
+ ...defaultOptions,
18
+ ...options,
19
+ };
20
+ const { translate } = mergedOptions;
21
+ const baseKeyframes = [
22
+ { transform: `translateX(${translate}%)` },
23
+ { transform: 'translateX(0)' },
24
+ ];
25
+ const keyframes = direction === 'in' ? baseKeyframes : [...baseKeyframes].reverse();
26
+ return animateSlide(el, keyframes, options);
23
27
  }
@@ -0,0 +1,14 @@
1
+ const headerEase = {
2
+ x1: 0.8,
3
+ y1: 0.2,
4
+ x2: 0.8,
5
+ y2: 0.7,
6
+ };
7
+ export 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
+ };
@@ -0,0 +1,8 @@
1
+ import { PRESET_MAP } from "./types";
2
+ export function resolveEasing(easing) {
3
+ const e = typeof easing === 'string' ? (PRESET_MAP[easing] ?? easing) : easing;
4
+ if (typeof e === 'string')
5
+ return e;
6
+ const { x1, y1, x2, y2 } = e;
7
+ return `cubic-bezier(${x1}, ${y1}, ${x2}, ${y2})`;
8
+ }
@@ -14,11 +14,9 @@
14
14
  "components/post-footer/post-footer.js",
15
15
  "components/post-header/post-header.js",
16
16
  "components/post-icon/post-icon.js",
17
- "components/post-language-option/post-language-option.js",
18
- "components/post-language-switch/post-language-switch.js",
17
+ "components/post-language-menu/post-language-menu.js",
18
+ "components/post-language-menu-item/post-language-menu-item.js",
19
19
  "components/post-linkarea/post-linkarea.js",
20
- "components/post-list/post-list.js",
21
- "components/post-list-item/post-list-item.js",
22
20
  "components/post-logo/post-logo.js",
23
21
  "components/post-mainnavigation/post-mainnavigation.js",
24
22
  "components/post-megadropdown/post-megadropdown.js",
@@ -26,16 +24,20 @@
26
24
  "components/post-menu/post-menu.js",
27
25
  "components/post-menu-item/post-menu-item.js",
28
26
  "components/post-menu-trigger/post-menu-trigger.js",
27
+ "components/post-pagination/post-pagination.js",
29
28
  "components/post-popover/post-popover.js",
30
29
  "components/post-popover-trigger/post-popover-trigger.js",
31
30
  "components/post-popovercontainer/post-popovercontainer.js",
32
31
  "components/post-rating/post-rating.js",
33
- "components/post-tab-header/post-tab-header.js",
32
+ "components/post-stepper/post-stepper.js",
33
+ "components/post-stepper-item/post-stepper-item.js",
34
+ "components/post-tab-item/post-tab-item.js",
34
35
  "components/post-tab-panel/post-tab-panel.js",
35
36
  "components/post-tabs/post-tabs.js",
36
37
  "components/post-togglebutton/post-togglebutton.js",
37
38
  "components/post-tooltip/post-tooltip.js",
38
- "components/post-tooltip-trigger/post-tooltip-trigger.js"
39
+ "components/post-tooltip-trigger/post-tooltip-trigger.js",
40
+ "utils/tests/environment/post-env-test.js"
39
41
  ],
40
42
  "compiler": {
41
43
  "name": "@stencil/core",
@@ -1 +1 @@
1
- :host{display:block}::slotted(post-accordion-item){display:block}::slotted(post-accordion-item:not(:only-of-type:first-of-type)){margin-block-start:calc(var(--post-device-border-width-default)*-1)}
1
+ :host{display:block;border-block-start:var(--post-device-border-width-default) var(--post-core-border-style-solid) var(--post-scheme-color-interactive-primary-enabled-stroke)}