@swisspost/internet-header 10.4.0 → 10.6.0

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 (349) hide show
  1. package/dist/cjs/{breakpoints-CI0Xuh1L.js → breakpoints-Kruvy8Dm.js} +11 -10
  2. package/dist/cjs/{event-from-CwMw19f8.js → event-from-CTcQxB9-.js} +19 -13
  3. package/dist/cjs/index-B5ypPkK3.js +4 -4
  4. package/dist/cjs/index.cjs.js +1 -1
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/{package-HZ6bBKwJ.js → package-D7UYFbVU.js} +1 -1
  7. package/dist/cjs/{package-CL8OSAS4.js → package-pKyFPwiA.js} +1 -1
  8. package/dist/cjs/post-accordion_4.cjs.entry.js +5 -5
  9. package/dist/cjs/post-autocomplete.cjs.entry.js +65 -50
  10. package/dist/cjs/post-avatar.cjs.entry.js +1 -1
  11. package/dist/cjs/post-back-to-top.cjs.entry.js +20 -8
  12. package/dist/cjs/post-banner.cjs.entry.js +2 -9
  13. package/dist/cjs/post-breadcrumb-item.cjs.entry.js +35 -5
  14. package/dist/cjs/post-breadcrumbs.cjs.entry.js +215 -65
  15. package/dist/cjs/post-closebutton.cjs.entry.js +46 -8
  16. package/dist/cjs/post-date-picker.cjs.entry.js +13 -11
  17. package/dist/cjs/post-footer.cjs.entry.js +4 -5
  18. package/dist/cjs/post-header.cjs.entry.js +5 -5
  19. package/dist/cjs/post-icon.cjs.entry.js +2 -2
  20. package/dist/cjs/post-language-menu-item.cjs.entry.js +1 -1
  21. package/dist/cjs/post-language-menu.cjs.entry.js +3 -3
  22. package/dist/cjs/post-linkarea.cjs.entry.js +2 -2
  23. package/dist/cjs/post-listbox-option.cjs.entry.js +3 -3
  24. package/dist/cjs/post-listbox.cjs.entry.js +4 -4
  25. package/dist/cjs/post-logo.cjs.entry.js +2 -2
  26. package/dist/cjs/post-mainnavigation.cjs.entry.js +2 -2
  27. package/dist/cjs/post-megadropdown-trigger.cjs.entry.js +3 -3
  28. package/dist/cjs/post-megadropdown.cjs.entry.js +5 -6
  29. package/dist/cjs/post-menu-item.cjs.entry.js +2 -2
  30. package/dist/cjs/post-menu_2.cjs.entry.js +25 -10
  31. package/dist/cjs/post-number-input.cjs.entry.js +3 -3
  32. package/dist/cjs/post-pagination.cjs.entry.js +1 -1
  33. package/dist/cjs/post-popover-trigger.cjs.entry.js +4 -4
  34. package/dist/cjs/post-popover.cjs.entry.js +5 -5
  35. package/dist/cjs/post-popovercontainer.cjs.entry.js +341 -196
  36. package/dist/cjs/post-progressbar.cjs.entry.js +1 -1
  37. package/dist/cjs/post-rating.cjs.entry.js +2 -2
  38. package/dist/cjs/post-side-navigation-trigger.cjs.entry.js +3 -3
  39. package/dist/cjs/post-side-navigation.cjs.entry.js +4 -5
  40. package/dist/cjs/post-stepper-item.cjs.entry.js +2 -2
  41. package/dist/cjs/post-stepper.cjs.entry.js +2 -2
  42. package/dist/cjs/post-tab-item.cjs.entry.js +2 -2
  43. package/dist/cjs/post-tab-panel.cjs.entry.js +2 -2
  44. package/dist/cjs/post-tabs.cjs.entry.js +4 -4
  45. package/dist/cjs/post-togglebutton.cjs.entry.js +2 -2
  46. package/dist/cjs/post-tooltip-trigger.cjs.entry.js +3 -3
  47. package/dist/cjs/post-tooltip.cjs.entry.js +2 -2
  48. package/dist/cjs/swisspost-internet-footer.cjs.entry.js +3 -11
  49. package/dist/cjs/swisspost-internet-header.cjs.entry.js +51 -69
  50. package/dist/cjs/swisspost-internet-header.cjs.js +1 -1
  51. package/dist/collection/components/post-internet-footer/post-internet-footer.js +2 -10
  52. package/dist/collection/components/post-internet-header/post-internet-header.js +16 -66
  53. package/dist/collection/config/klp-urls.js +33 -0
  54. package/dist/collection/services/config.service.js +1 -2
  55. package/dist/collection/tests/setup-tests.js +1 -0
  56. package/dist/components/breakpoints.js +1 -1
  57. package/dist/components/event-from.js +1 -1
  58. package/dist/components/package.js +1 -1
  59. package/dist/components/package2.js +1 -1
  60. package/dist/components/post-autocomplete.js +1 -1
  61. package/dist/components/post-back-to-top.js +1 -1
  62. package/dist/components/post-banner.js +1 -1
  63. package/dist/components/post-breadcrumb-item.js +1 -1
  64. package/dist/components/post-breadcrumbs.js +1 -1
  65. package/dist/components/post-closebutton2.js +1 -1
  66. package/dist/components/post-collapsible-trigger2.js +1 -1
  67. package/dist/components/post-collapsible2.js +1 -1
  68. package/dist/components/post-date-picker.js +1 -1
  69. package/dist/components/post-footer2.js +1 -1
  70. package/dist/components/post-header2.js +1 -1
  71. package/dist/components/post-icon2.js +1 -1
  72. package/dist/components/post-linkarea.js +1 -1
  73. package/dist/components/post-listbox-option.js +1 -1
  74. package/dist/components/post-listbox.js +1 -1
  75. package/dist/components/post-logo2.js +1 -1
  76. package/dist/components/post-mainnavigation2.js +1 -1
  77. package/dist/components/post-megadropdown-trigger.js +1 -1
  78. package/dist/components/post-megadropdown.js +1 -1
  79. package/dist/components/post-menu-item2.js +1 -1
  80. package/dist/components/post-menu-trigger2.js +1 -1
  81. package/dist/components/post-menu2.js +1 -1
  82. package/dist/components/post-number-input.js +1 -1
  83. package/dist/components/post-popover-trigger.js +1 -1
  84. package/dist/components/post-popover.js +1 -1
  85. package/dist/components/post-popovercontainer2.js +1 -1
  86. package/dist/components/post-progressbar.js +1 -1
  87. package/dist/components/post-rating.js +1 -1
  88. package/dist/components/post-side-navigation-trigger.js +1 -1
  89. package/dist/components/post-side-navigation.js +1 -1
  90. package/dist/components/post-stepper-item.js +1 -1
  91. package/dist/components/post-stepper.js +1 -1
  92. package/dist/components/post-tab-item.js +1 -1
  93. package/dist/components/post-tab-panel.js +1 -1
  94. package/dist/components/post-tabs.js +1 -1
  95. package/dist/components/post-togglebutton2.js +1 -1
  96. package/dist/components/post-tooltip-trigger.js +1 -1
  97. package/dist/components/post-tooltip.js +1 -1
  98. package/dist/components/swisspost-internet-footer.js +1 -1
  99. package/dist/components/swisspost-internet-header.js +1 -1
  100. package/dist/docs.json +1 -1
  101. package/dist/esm/{breakpoints-C3jWktf-.js → breakpoints-I1j7a0bW.js} +11 -10
  102. package/dist/esm/{event-from-rEfV4v4a.js → event-from-BEcxHjuM.js} +19 -14
  103. package/dist/esm/index-h3opCZqH.js +4 -4
  104. package/dist/esm/index.js +1 -1
  105. package/dist/esm/loader.js +1 -1
  106. package/dist/esm/{package-B4lS4y6E.js → package-Dy8-dzD8.js} +1 -1
  107. package/dist/esm/{package-tTf1w3A9.js → package-T8T3po4z.js} +1 -1
  108. package/dist/esm/post-accordion_4.entry.js +5 -5
  109. package/dist/esm/post-autocomplete.entry.js +65 -50
  110. package/dist/esm/post-avatar.entry.js +1 -1
  111. package/dist/esm/post-back-to-top.entry.js +20 -8
  112. package/dist/esm/post-banner.entry.js +2 -9
  113. package/dist/esm/post-breadcrumb-item.entry.js +35 -5
  114. package/dist/esm/post-breadcrumbs.entry.js +215 -65
  115. package/dist/esm/post-closebutton.entry.js +46 -8
  116. package/dist/esm/post-date-picker.entry.js +13 -11
  117. package/dist/esm/post-footer.entry.js +4 -5
  118. package/dist/esm/post-header.entry.js +5 -5
  119. package/dist/esm/post-icon.entry.js +2 -2
  120. package/dist/esm/post-language-menu-item.entry.js +1 -1
  121. package/dist/esm/post-language-menu.entry.js +3 -3
  122. package/dist/esm/post-linkarea.entry.js +2 -2
  123. package/dist/esm/post-listbox-option.entry.js +3 -3
  124. package/dist/esm/post-listbox.entry.js +4 -4
  125. package/dist/esm/post-logo.entry.js +2 -2
  126. package/dist/esm/post-mainnavigation.entry.js +2 -2
  127. package/dist/esm/post-megadropdown-trigger.entry.js +3 -3
  128. package/dist/esm/post-megadropdown.entry.js +5 -6
  129. package/dist/esm/post-menu-item.entry.js +2 -2
  130. package/dist/esm/post-menu_2.entry.js +25 -10
  131. package/dist/esm/post-number-input.entry.js +3 -3
  132. package/dist/esm/post-pagination.entry.js +1 -1
  133. package/dist/esm/post-popover-trigger.entry.js +4 -4
  134. package/dist/esm/post-popover.entry.js +5 -5
  135. package/dist/esm/post-popovercontainer.entry.js +341 -196
  136. package/dist/esm/post-progressbar.entry.js +1 -1
  137. package/dist/esm/post-rating.entry.js +2 -2
  138. package/dist/esm/post-side-navigation-trigger.entry.js +3 -3
  139. package/dist/esm/post-side-navigation.entry.js +4 -5
  140. package/dist/esm/post-stepper-item.entry.js +2 -2
  141. package/dist/esm/post-stepper.entry.js +2 -2
  142. package/dist/esm/post-tab-item.entry.js +2 -2
  143. package/dist/esm/post-tab-panel.entry.js +2 -2
  144. package/dist/esm/post-tabs.entry.js +4 -4
  145. package/dist/esm/post-togglebutton.entry.js +2 -2
  146. package/dist/esm/post-tooltip-trigger.entry.js +3 -3
  147. package/dist/esm/post-tooltip.entry.js +2 -2
  148. package/dist/esm/swisspost-internet-footer.entry.js +3 -11
  149. package/dist/esm/swisspost-internet-header.entry.js +51 -69
  150. package/dist/esm/swisspost-internet-header.js +1 -1
  151. package/dist/esm-es5/breakpoints-I1j7a0bW.js +1 -0
  152. package/dist/esm-es5/event-from-BEcxHjuM.js +1 -0
  153. package/dist/esm-es5/index-h3opCZqH.js +1 -1
  154. package/dist/esm-es5/index.js +1 -1
  155. package/dist/esm-es5/loader.js +1 -1
  156. package/dist/esm-es5/{package-B4lS4y6E.js → package-Dy8-dzD8.js} +1 -1
  157. package/dist/esm-es5/package-T8T3po4z.js +1 -0
  158. package/dist/esm-es5/post-accordion_4.entry.js +1 -1
  159. package/dist/esm-es5/post-autocomplete.entry.js +1 -1
  160. package/dist/esm-es5/post-avatar.entry.js +1 -1
  161. package/dist/esm-es5/post-back-to-top.entry.js +1 -1
  162. package/dist/esm-es5/post-banner.entry.js +1 -1
  163. package/dist/esm-es5/post-breadcrumb-item.entry.js +1 -1
  164. package/dist/esm-es5/post-breadcrumbs.entry.js +1 -1
  165. package/dist/esm-es5/post-closebutton.entry.js +1 -1
  166. package/dist/esm-es5/post-date-picker.entry.js +1 -1
  167. package/dist/esm-es5/post-footer.entry.js +1 -1
  168. package/dist/esm-es5/post-header.entry.js +1 -1
  169. package/dist/esm-es5/post-icon.entry.js +1 -1
  170. package/dist/esm-es5/post-language-menu-item.entry.js +1 -1
  171. package/dist/esm-es5/post-language-menu.entry.js +1 -1
  172. package/dist/esm-es5/post-linkarea.entry.js +1 -1
  173. package/dist/esm-es5/post-listbox-option.entry.js +1 -1
  174. package/dist/esm-es5/post-listbox.entry.js +1 -1
  175. package/dist/esm-es5/post-logo.entry.js +1 -1
  176. package/dist/esm-es5/post-mainnavigation.entry.js +1 -1
  177. package/dist/esm-es5/post-megadropdown-trigger.entry.js +1 -1
  178. package/dist/esm-es5/post-megadropdown.entry.js +1 -1
  179. package/dist/esm-es5/post-menu-item.entry.js +1 -1
  180. package/dist/esm-es5/post-menu_2.entry.js +1 -1
  181. package/dist/esm-es5/post-number-input.entry.js +1 -1
  182. package/dist/esm-es5/post-pagination.entry.js +1 -1
  183. package/dist/esm-es5/post-popover-trigger.entry.js +1 -1
  184. package/dist/esm-es5/post-popover.entry.js +1 -1
  185. package/dist/esm-es5/post-popovercontainer.entry.js +1 -1
  186. package/dist/esm-es5/post-progressbar.entry.js +1 -1
  187. package/dist/esm-es5/post-rating.entry.js +1 -1
  188. package/dist/esm-es5/post-side-navigation-trigger.entry.js +1 -1
  189. package/dist/esm-es5/post-side-navigation.entry.js +1 -1
  190. package/dist/esm-es5/post-stepper-item.entry.js +1 -1
  191. package/dist/esm-es5/post-stepper.entry.js +1 -1
  192. package/dist/esm-es5/post-tab-item.entry.js +1 -1
  193. package/dist/esm-es5/post-tab-panel.entry.js +1 -1
  194. package/dist/esm-es5/post-tabs.entry.js +1 -1
  195. package/dist/esm-es5/post-togglebutton.entry.js +1 -1
  196. package/dist/esm-es5/post-tooltip-trigger.entry.js +1 -1
  197. package/dist/esm-es5/post-tooltip.entry.js +1 -1
  198. package/dist/esm-es5/swisspost-internet-footer.entry.js +1 -1
  199. package/dist/esm-es5/swisspost-internet-header.entry.js +1 -1
  200. package/dist/esm-es5/swisspost-internet-header.js +1 -1
  201. package/dist/swisspost-internet-header/index.esm.js +1 -1
  202. package/dist/swisspost-internet-header/{p-80993537.system.entry.js → p-000978a2.system.entry.js} +1 -1
  203. package/dist/swisspost-internet-header/{p-31f0de1e.entry.js → p-03587cd5.entry.js} +1 -1
  204. package/dist/swisspost-internet-header/{p-09d4521f.entry.js → p-068b1e2b.entry.js} +1 -1
  205. package/dist/swisspost-internet-header/p-087b1e22.system.entry.js +1 -0
  206. package/dist/swisspost-internet-header/{p-bc470741.entry.js → p-089412b9.entry.js} +1 -1
  207. package/dist/swisspost-internet-header/{p-f523050e.entry.js → p-094ef16a.entry.js} +1 -1
  208. package/dist/swisspost-internet-header/{p-ab97669b.system.entry.js → p-0c651391.system.entry.js} +1 -1
  209. package/dist/swisspost-internet-header/p-0d4d5c56.entry.js +1 -0
  210. package/dist/swisspost-internet-header/{p-bf2996de.system.entry.js → p-0f501e99.system.entry.js} +1 -1
  211. package/dist/swisspost-internet-header/p-1502d221.system.entry.js +1 -0
  212. package/dist/swisspost-internet-header/{p-d7e470ff.system.entry.js → p-155f5b00.system.entry.js} +1 -1
  213. package/dist/swisspost-internet-header/p-161b1a45.system.entry.js +1 -0
  214. package/dist/swisspost-internet-header/p-16623b05.entry.js +1 -0
  215. package/dist/swisspost-internet-header/p-1780039a.entry.js +1 -0
  216. package/dist/swisspost-internet-header/p-1a18ac48.system.entry.js +1 -0
  217. package/dist/swisspost-internet-header/{p-06de7983.entry.js → p-1b2b7af5.entry.js} +1 -1
  218. package/dist/swisspost-internet-header/p-2196012d.entry.js +1 -0
  219. package/dist/swisspost-internet-header/p-2197ca9e.system.entry.js +1 -0
  220. package/dist/swisspost-internet-header/p-21e537be.system.entry.js +1 -0
  221. package/dist/swisspost-internet-header/p-25407470.system.entry.js +1 -0
  222. package/dist/swisspost-internet-header/{p-79512699.entry.js → p-255b2067.entry.js} +1 -1
  223. package/dist/swisspost-internet-header/p-2b0f93fb.entry.js +1 -0
  224. package/dist/swisspost-internet-header/{p-c1e959fb.entry.js → p-2da6fba5.entry.js} +1 -1
  225. package/dist/swisspost-internet-header/p-2e8c0f26.entry.js +1 -0
  226. package/dist/swisspost-internet-header/{p-f7a9a615.system.entry.js → p-31af5cf2.system.entry.js} +1 -1
  227. package/dist/swisspost-internet-header/p-35b6e07c.system.entry.js +1 -0
  228. package/dist/swisspost-internet-header/{p-8e61f407.system.entry.js → p-39af32a0.system.entry.js} +1 -1
  229. package/dist/swisspost-internet-header/p-3d38ab21.entry.js +1 -0
  230. package/dist/swisspost-internet-header/{p-25a5281d.entry.js → p-3ff138ba.entry.js} +1 -1
  231. package/dist/swisspost-internet-header/p-42806d60.system.entry.js +1 -0
  232. package/dist/swisspost-internet-header/{p-658dd74d.entry.js → p-4557a744.entry.js} +1 -1
  233. package/dist/swisspost-internet-header/p-4562d9d8.system.entry.js +1 -0
  234. package/dist/swisspost-internet-header/{p-17a3d14a.system.entry.js → p-4bdbf9e9.system.entry.js} +1 -1
  235. package/dist/swisspost-internet-header/p-53c33e94.entry.js +1 -0
  236. package/dist/swisspost-internet-header/p-5443664a.entry.js +1 -0
  237. package/dist/swisspost-internet-header/p-547d9572.system.entry.js +1 -0
  238. package/dist/swisspost-internet-header/{p-52e305d7.system.entry.js → p-57f1f9e2.system.entry.js} +1 -1
  239. package/dist/swisspost-internet-header/{p-be97ff93.system.entry.js → p-586ee1e8.system.entry.js} +1 -1
  240. package/dist/swisspost-internet-header/{p-80cb2bdb.entry.js → p-599e94e7.entry.js} +1 -1
  241. package/dist/swisspost-internet-header/{p-f2ed3863.entry.js → p-613fa3a4.entry.js} +1 -1
  242. package/dist/swisspost-internet-header/p-651b9efe.entry.js +1 -0
  243. package/dist/swisspost-internet-header/{p-120a2867.entry.js → p-6d6fb84b.entry.js} +1 -1
  244. package/dist/swisspost-internet-header/p-6f187e15.entry.js +1 -0
  245. package/dist/swisspost-internet-header/{p-a9c5178f.system.entry.js → p-6f79a60d.system.entry.js} +1 -1
  246. package/dist/swisspost-internet-header/{p-1f30f235.system.entry.js → p-72377b16.system.entry.js} +1 -1
  247. package/dist/swisspost-internet-header/{p-0da236b6.system.entry.js → p-7ad0de4b.system.entry.js} +1 -1
  248. package/dist/swisspost-internet-header/{p-429f04bc.system.entry.js → p-81f34993.system.entry.js} +1 -1
  249. package/dist/swisspost-internet-header/{p-e3515572.entry.js → p-826d0669.entry.js} +1 -1
  250. package/dist/swisspost-internet-header/{p-de258c90.system.entry.js → p-84ebaf4b.system.entry.js} +1 -1
  251. package/dist/swisspost-internet-header/p-8717e0ce.system.entry.js +1 -0
  252. package/dist/swisspost-internet-header/p-8f21a530.entry.js +1 -0
  253. package/dist/swisspost-internet-header/p-98d2dfb3.system.entry.js +1 -0
  254. package/dist/swisspost-internet-header/p-9b6c8533.entry.js +1 -0
  255. package/dist/swisspost-internet-header/{p-756574fd.entry.js → p-9c5941a2.entry.js} +1 -1
  256. package/dist/swisspost-internet-header/{p-B4kfqOjJ.js → p-B-DGLCj0.js} +1 -1
  257. package/dist/swisspost-internet-header/p-BEcxHjuM.js +1 -0
  258. package/dist/swisspost-internet-header/p-BT1GO8tc.system.js +1 -0
  259. package/dist/swisspost-internet-header/{p-BhneAPKT.system.js → p-COm5Sc71.system.js} +1 -1
  260. package/dist/swisspost-internet-header/p-D1A3ltXC.system.js +1 -0
  261. package/dist/swisspost-internet-header/{p-CHYNOqn0.system.js → p-D_rLPX5e.system.js} +1 -1
  262. package/dist/swisspost-internet-header/p-I1j7a0bW.js +1 -0
  263. package/dist/swisspost-internet-header/p-R5BnOD0U.system.js +1 -1
  264. package/dist/swisspost-internet-header/p-T8T3po4z.js +1 -0
  265. package/dist/swisspost-internet-header/p-a435a51d.system.entry.js +1 -0
  266. package/dist/swisspost-internet-header/{p-9b4f74a6.system.entry.js → p-a46ef8a8.system.entry.js} +1 -1
  267. package/dist/swisspost-internet-header/p-a75d1e4f.entry.js +1 -0
  268. package/dist/swisspost-internet-header/{p-db9eae5a.system.entry.js → p-a8b0c0ec.system.entry.js} +1 -1
  269. package/dist/swisspost-internet-header/p-abe2eefe.entry.js +1 -0
  270. package/dist/swisspost-internet-header/p-b344fa82.entry.js +1 -0
  271. package/dist/swisspost-internet-header/{p-4876e706.system.entry.js → p-b4de053e.system.entry.js} +1 -1
  272. package/dist/swisspost-internet-header/p-b85fabc2.system.entry.js +1 -0
  273. package/dist/swisspost-internet-header/p-bb4c3ac1.entry.js +1 -0
  274. package/dist/swisspost-internet-header/{p-36be5234.entry.js → p-bfc4a6a9.entry.js} +1 -1
  275. package/dist/swisspost-internet-header/{p-2501eb09.entry.js → p-c1e818d2.entry.js} +1 -1
  276. package/dist/swisspost-internet-header/{p-3c228ed0.system.entry.js → p-c96dbc97.system.entry.js} +1 -1
  277. package/dist/swisspost-internet-header/{p-9e57bd5a.entry.js → p-ca68b8cf.entry.js} +1 -1
  278. package/dist/swisspost-internet-header/p-caed751e.entry.js +1 -0
  279. package/dist/swisspost-internet-header/p-cb52e42c.system.entry.js +1 -0
  280. package/dist/swisspost-internet-header/{p-1801d35d.system.entry.js → p-cec19e1d.system.entry.js} +1 -1
  281. package/dist/swisspost-internet-header/p-d45690b3.system.entry.js +1 -0
  282. package/dist/swisspost-internet-header/{p-bda3094c.entry.js → p-d68a1179.entry.js} +1 -1
  283. package/dist/swisspost-internet-header/{p-0de83906.entry.js → p-d7c2cce3.entry.js} +1 -1
  284. package/dist/swisspost-internet-header/{p-2b04e974.system.entry.js → p-d7df13be.system.entry.js} +1 -1
  285. package/dist/swisspost-internet-header/p-e5ebe099.system.entry.js +1 -0
  286. package/dist/swisspost-internet-header/p-e69e8fa4.entry.js +1 -0
  287. package/dist/swisspost-internet-header/p-e6ec5fa5.entry.js +1 -0
  288. package/dist/swisspost-internet-header/{p-90e78f26.system.entry.js → p-ede58236.system.entry.js} +1 -1
  289. package/dist/swisspost-internet-header/{p-a204bb79.system.entry.js → p-f3e68437.system.entry.js} +1 -1
  290. package/dist/swisspost-internet-header/p-f4489f68.system.entry.js +1 -0
  291. package/dist/swisspost-internet-header/{p-7c53064b.entry.js → p-f4ce6247.entry.js} +1 -1
  292. package/dist/swisspost-internet-header/p-f783b224.system.entry.js +1 -0
  293. package/dist/swisspost-internet-header/{p-fe440b79.entry.js → p-fcfd3134.entry.js} +1 -1
  294. package/dist/swisspost-internet-header/p-fdbcf065.entry.js +1 -0
  295. package/dist/swisspost-internet-header/p-iSGRM5O1.system.js +1 -0
  296. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -1
  297. package/dist/types/config/klp-urls.d.ts +23 -0
  298. package/package.json +20 -23
  299. package/readme.md +2 -2
  300. package/dist/esm-es5/breakpoints-C3jWktf-.js +0 -1
  301. package/dist/esm-es5/event-from-rEfV4v4a.js +0 -1
  302. package/dist/esm-es5/package-tTf1w3A9.js +0 -1
  303. package/dist/swisspost-internet-header/p-16182f34.system.entry.js +0 -1
  304. package/dist/swisspost-internet-header/p-1a39c0c7.entry.js +0 -1
  305. package/dist/swisspost-internet-header/p-1aeb1d6c.entry.js +0 -1
  306. package/dist/swisspost-internet-header/p-1ec41382.system.entry.js +0 -1
  307. package/dist/swisspost-internet-header/p-1fe8276f.entry.js +0 -1
  308. package/dist/swisspost-internet-header/p-2738143c.entry.js +0 -1
  309. package/dist/swisspost-internet-header/p-2990978f.system.entry.js +0 -1
  310. package/dist/swisspost-internet-header/p-2ec721b4.system.entry.js +0 -1
  311. package/dist/swisspost-internet-header/p-3373f238.system.entry.js +0 -1
  312. package/dist/swisspost-internet-header/p-34259104.entry.js +0 -1
  313. package/dist/swisspost-internet-header/p-3c917e9d.system.entry.js +0 -1
  314. package/dist/swisspost-internet-header/p-42394464.system.entry.js +0 -1
  315. package/dist/swisspost-internet-header/p-48cace4d.system.entry.js +0 -1
  316. package/dist/swisspost-internet-header/p-4b44ce5f.system.entry.js +0 -1
  317. package/dist/swisspost-internet-header/p-4d3939eb.entry.js +0 -1
  318. package/dist/swisspost-internet-header/p-5efffa89.system.entry.js +0 -1
  319. package/dist/swisspost-internet-header/p-65cfb55b.entry.js +0 -1
  320. package/dist/swisspost-internet-header/p-7a66d431.system.entry.js +0 -1
  321. package/dist/swisspost-internet-header/p-7baa1968.system.entry.js +0 -1
  322. package/dist/swisspost-internet-header/p-805ee472.system.entry.js +0 -1
  323. package/dist/swisspost-internet-header/p-83410f32.entry.js +0 -1
  324. package/dist/swisspost-internet-header/p-85087a43.system.entry.js +0 -1
  325. package/dist/swisspost-internet-header/p-8b9c9fda.entry.js +0 -1
  326. package/dist/swisspost-internet-header/p-925c8906.entry.js +0 -1
  327. package/dist/swisspost-internet-header/p-92e0402a.entry.js +0 -1
  328. package/dist/swisspost-internet-header/p-999af688.system.entry.js +0 -1
  329. package/dist/swisspost-internet-header/p-C1pxTt7y.system.js +0 -1
  330. package/dist/swisspost-internet-header/p-CGtndO2e.system.js +0 -1
  331. package/dist/swisspost-internet-header/p-Ck6UMUSA.js +0 -1
  332. package/dist/swisspost-internet-header/p-D8meK6Dd.system.js +0 -1
  333. package/dist/swisspost-internet-header/p-acabba28.entry.js +0 -1
  334. package/dist/swisspost-internet-header/p-aefc1c4c.entry.js +0 -1
  335. package/dist/swisspost-internet-header/p-b05dd248.system.entry.js +0 -1
  336. package/dist/swisspost-internet-header/p-b8bb2c10.entry.js +0 -1
  337. package/dist/swisspost-internet-header/p-c546bebe.entry.js +0 -1
  338. package/dist/swisspost-internet-header/p-ca9c885e.entry.js +0 -1
  339. package/dist/swisspost-internet-header/p-e26d9136.entry.js +0 -1
  340. package/dist/swisspost-internet-header/p-e9582f72.system.entry.js +0 -1
  341. package/dist/swisspost-internet-header/p-ec06df2f.entry.js +0 -1
  342. package/dist/swisspost-internet-header/p-ec43767f.entry.js +0 -1
  343. package/dist/swisspost-internet-header/p-ec45ed63.system.entry.js +0 -1
  344. package/dist/swisspost-internet-header/p-ecb554c7.system.entry.js +0 -1
  345. package/dist/swisspost-internet-header/p-f32d49d7.entry.js +0 -1
  346. package/dist/swisspost-internet-header/p-f56fe63d.entry.js +0 -1
  347. package/dist/swisspost-internet-header/p-fe9ac5ca.system.entry.js +0 -1
  348. package/dist/swisspost-internet-header/p-rEfV4v4a.js +0 -1
  349. package/dist/swisspost-internet-header/p-tTf1w3A9.js +0 -1
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-B5ypPkK3.js');
4
- var _package = require('./package-CL8OSAS4.js');
4
+ var _package = require('./package-pKyFPwiA.js');
5
5
  var url = require('./url-Cykxre4X.js');
6
6
  var type = require('./type-CAeEC3oM.js');
7
7
  var oneOf = require('./one-of-7TSi182P.js');
@@ -10,7 +10,7 @@ require('./create-validator-decorator-CJK3Xf77.js');
10
10
 
11
11
  const VARIANTS = ['listitem', 'menuitem'];
12
12
 
13
- const postBreadcrumbItemCss = () => `a{-webkit-text-decoration:var(--post-core-text-decoration-underline);text-decoration:var(--post-core-text-decoration-underline);border-radius:var(--post-device-border-radius-focus);color:var(--post-current-fg)}a:hover{color:var(--post-scheme-color-interactive-primary-hover-fg1)}a{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}a: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){a:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){a: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){a:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){a,a:focus{color:LinkText !important}a:hover{text-decoration-thickness:2px}a:visited{color:VisitedText}a.btn:not(.btn-link){border-color:ButtonBorder !important}a.btn.btn-tertiary.px-0{border:0 !important}a.btn.btn-tertiary.px-0:not(:hover){text-decoration:underline}}:host(:not([variant=menuitem])){display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;padding-block:var(--post-device-spacing-padding-block-6);gap:var(--post-device-spacing-gap-inline-5)}:host(:not([variant=menuitem])) :is(button,a){display:-ms-inline-flexbox;display:inline-flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;max-width:100%;overflow:hidden;-webkit-transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-color:rgba(0,0,0,0);border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);-webkit-box-shadow:none;box-shadow:none;font-family:inherit;font-size:var(--post-device-font-size-6);font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;font:inherit;padding:unset;border:unset;color:var(--post-scheme-color-interactive-primary-enabled-fg1);border-radius:var(--post-device-border-radius-focus);-webkit-text-decoration:var(--post-core-text-decoration-none);text-decoration:var(--post-core-text-decoration-none)}:host(:not([variant=menuitem])) :is(button,a):not(:disabled):hover{text-decoration:none}:host(:not([variant=menuitem])) :is(button,a):disabled{border-style:var(--post-core-border-style-dash);cursor:unset}:host(:not([variant=menuitem])) :is(button,a){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(:not([variant=menuitem])) :is(button,a):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){:host(:not([variant=menuitem])) :is(button,a):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){:host(:not([variant=menuitem])) :is(button,a):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){:host(:not([variant=menuitem])) :is(button,a):is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host(:not([variant=menuitem])) :is(button,a){border-width:1px !important;-webkit-transition:none;transition:none}:host(:not([variant=menuitem])) :is(button,a):is(button){background-color:ButtonFace !important;border-color:ButtonBorder !important}}:host(:not([variant=menuitem])) :is(button,a):hover{color:var(--post-scheme-color-interactive-primary-hover-fg1);-webkit-text-decoration:var(--post-core-text-decoration-underline);text-decoration:var(--post-core-text-decoration-underline)}:host(:not([variant=menuitem]))::before{-webkit-mask-image:var(--post-icon-chevronright);mask-image:var(--post-icon-chevronright);background-color:currentColor;-ms-flex:0 0 auto;flex:0 0 auto;content:"";display:block;height:var(--post-device-sizing-interactive-icon-size4);width:var(--post-device-sizing-interactive-icon-size4);margin-block:calc(var(--post-device-spacing-padding-35) - 1*var(--post-device-spacing-padding-block-6));margin-inline:var(--post-core-dimension-4)}:root,:host{--post-icon-chevronright:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxzeW1ib2wgaWQ9ImktY2hldnJvbnJpZ2h0Ij48c3ltYm9sIGlkPSJzMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTUuMzggMTRjLS4xOSAwLS4zOC0uMDctLjUzLS4yMmEuNzU0Ljc1NCAwIDAgMSAwLTEuMDZMOS41NyA4IDQuODUgMy4yOGMtLjI5LS4yOS0uMjktLjc3IDAtMS4wNnMuNzctLjI5IDEuMDYgMEwxMS42OSA4bC01Ljc4IDUuNzhjLS4xNS4xNS0uMzQuMjItLjUzLjIyIi8+PC9zeW1ib2w+PHN5bWJvbCBpZD0iczI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik04LjA3IDIwLjcyYy0uMjIgMC0uNDUtLjA4LS42Mi0uMjZhLjg4Ljg4IDAgMCAxIDAtMS4yNGw3LjI2LTcuMjZMNy40NSA0LjdhLjg4Ljg4IDAgMCAxIDAtMS4yNGMuMzQtLjM0LjktLjM0IDEuMjQgMGw4LjUgOC41LTguNDkgOC40OWMtLjE3LjE3LS40LjI2LS42Mi4yNloiLz48L3N5bWJvbD48c3ltYm9sIGlkPSJzMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggZD0iTTEwLjc2IDI3LjVjLS4yNiAwLS41MS0uMS0uNzEtLjI5YS45OTYuOTk2IDAgMCAxIDAtMS40MWw5Ljc5LTkuNzktOS43OS05LjgxYS45OTYuOTk2IDAgMSAxIDEuNDEtMS40MUwyMi42NyAxNiAxMS40NiAyNy4yMWMtLjIuMi0uNDUuMjktLjcxLjI5WiIvPjwvc3ltYm9sPjxzeW1ib2wgaWQ9InM0MCIgdmlld0JveD0iMCAwIDQwIDQwIj48cGF0aCBkPSJNMTMuNSAzNC4yMmExLjEyMyAxLjEyMyAwIDAgMS0uOC0xLjkybDEyLjMzLTEyLjMzTDEyLjcgNy42M2MtLjQ0LS40NC0uNDQtMS4xNSAwLTEuNTlzMS4xNS0uNDQgMS41OSAwbDEzLjkzIDEzLjkzTDE0LjMgMzMuODljLS4yMi4yMi0uNTEuMzMtLjguMzMiLz48L3N5bWJvbD48c3ltYm9sIGlkPSJzNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCI+PHBhdGggZD0iTTE2LjE0IDQxYy0uMzIgMC0uNjQtLjEyLS44OC0uMzdhMS4yNSAxLjI1IDAgMCAxIDAtMS43N2wxNC44Ny0xNC44N0wxNS4yNSA5LjExYy0uNDktLjQ5LS40OS0xLjI4IDAtMS43N3MxLjI4LS40OSAxLjc3IDBsMTYuNjQgMTYuNjQtMTYuNjMgMTYuNjNjLS4yNC4yNC0uNTYuMzctLjg4LjM3WiIvPjwvc3ltYm9sPjxzeW1ib2wgaWQ9InM2NCIgdmlld0JveD0iMCAwIDY0IDY0Ij48cGF0aCBkPSJNMjEuNTEgNTQuNGExLjM3NiAxLjM3NiAwIDAgMS0uOTctMi4zNWwyMC4wMy0yMC4wMy0yMC4wNC0yMC4wM2MtLjU0LS41NC0uNTQtMS40MSAwLTEuOTVzMS40MS0uNTQgMS45NSAwbDIxLjk4IDIxLjk5TDIyLjQ5IDU0Yy0uMjcuMjctLjYyLjQtLjk3LjRaIi8+PC9zeW1ib2w+PHVzZSBzdHlsZT0iZGlzcGxheTogdmFyKC0tczE2LCBub25lKSIgaHJlZj0iI3MxNiIvPjx1c2Ugc3R5bGU9ImRpc3BsYXk6IHZhcigtLXMyNCwgbm9uZSkiIGhyZWY9IiNzMjQiLz48dXNlIHN0eWxlPSJkaXNwbGF5OiB2YXIoLS1zMzIsIG5vbmUpIiBocmVmPSIjczMyIi8+PHVzZSBzdHlsZT0iZGlzcGxheTogdmFyKC0tczQwLCBub25lKSIgaHJlZj0iI3M0MCIvPjx1c2Ugc3R5bGU9ImRpc3BsYXk6IHZhcigtLXM0OCwgbm9uZSkiIGhyZWY9IiNzNDgiLz48dXNlIHN0eWxlPSJkaXNwbGF5OiB2YXIoLS1zNjQsIG5vbmUpIiBocmVmPSIjczY0Ii8+PC9zeW1ib2w+PC9kZWZzPjxzdHlsZT5AbWVkaWEgKG1heC13aWR0aDogMjMuOThweCkge2d7LS1zMTY6YmxvY2s7fX1AbWVkaWEgKG1pbi13aWR0aDogMjRweCkgYW5kIChtYXgtd2lkdGg6IDMxLjk4cHgpIHtney0tczI0OmJsb2NrO319QG1lZGlhIChtaW4td2lkdGg6IDMycHgpIGFuZCAobWF4LXdpZHRoOiAzOS45OHB4KSB7Z3stLXMzMjpibG9jazt9fUBtZWRpYSAobWluLXdpZHRoOiA0MHB4KSBhbmQgKG1heC13aWR0aDogNDcuOThweCkge2d7LS1zNDA6YmxvY2s7fX1AbWVkaWEgKG1pbi13aWR0aDogNDhweCkgYW5kIChtYXgtd2lkdGg6IDYzLjk4cHgpIHtney0tczQ4OmJsb2NrO319QG1lZGlhIChtaW4td2lkdGg6IDY0cHgpIHtney0tczY0OmJsb2NrO319PC9zdHlsZT48Zz48dXNlIGhyZWY9IiNpLWNoZXZyb25yaWdodCIvPjwvZz48L3N2Zz4=")}:is(a,span){white-space:var(--post-breadcrumb-item-wrap, normal) !important;overflow-wrap:anywhere;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;line-break:strict}:host([selected]:not([selected=false])){display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;padding-block:var(--post-device-spacing-padding-block-6);gap:var(--post-device-spacing-gap-inline-5)}:host([selected]:not([selected=false])) :is(button,a){display:-ms-inline-flexbox;display:inline-flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;max-width:100%;overflow:hidden;-webkit-transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-color:rgba(0,0,0,0);border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);-webkit-box-shadow:none;box-shadow:none;font-family:inherit;font-size:var(--post-device-font-size-6);font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;font:inherit;padding:unset;border:unset;color:var(--post-scheme-color-interactive-primary-enabled-fg1);border-radius:var(--post-device-border-radius-focus);-webkit-text-decoration:var(--post-core-text-decoration-none);text-decoration:var(--post-core-text-decoration-none)}:host([selected]:not([selected=false])) :is(button,a):not(:disabled):hover{text-decoration:none}:host([selected]:not([selected=false])) :is(button,a):disabled{border-style:var(--post-core-border-style-dash);cursor:unset}:host([selected]:not([selected=false])) :is(button,a){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([selected]:not([selected=false])) :is(button,a):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){:host([selected]:not([selected=false])) :is(button,a):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){:host([selected]:not([selected=false])) :is(button,a):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){:host([selected]:not([selected=false])) :is(button,a):is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host([selected]:not([selected=false])) :is(button,a){border-width:1px !important;-webkit-transition:none;transition:none}:host([selected]:not([selected=false])) :is(button,a):is(button){background-color:ButtonFace !important;border-color:ButtonBorder !important}}:host([selected]:not([selected=false])) :is(button,a):hover{color:var(--post-scheme-color-interactive-primary-hover-fg1);-webkit-text-decoration:var(--post-core-text-decoration-underline);text-decoration:var(--post-core-text-decoration-underline)}:host([selected]:not([selected=false]))::before{-webkit-mask-image:var(--post-icon-chevronright);mask-image:var(--post-icon-chevronright);background-color:currentColor;-ms-flex:0 0 auto;flex:0 0 auto;content:"";display:block;height:var(--post-device-sizing-interactive-icon-size4);width:var(--post-device-sizing-interactive-icon-size4);margin-block:calc(var(--post-device-spacing-padding-35) - 1*var(--post-device-spacing-padding-block-6));margin-inline:var(--post-core-dimension-4)}:root,:host{--post-icon-chevronright:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxzeW1ib2wgaWQ9ImktY2hldnJvbnJpZ2h0Ij48c3ltYm9sIGlkPSJzMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTUuMzggMTRjLS4xOSAwLS4zOC0uMDctLjUzLS4yMmEuNzU0Ljc1NCAwIDAgMSAwLTEuMDZMOS41NyA4IDQuODUgMy4yOGMtLjI5LS4yOS0uMjktLjc3IDAtMS4wNnMuNzctLjI5IDEuMDYgMEwxMS42OSA4bC01Ljc4IDUuNzhjLS4xNS4xNS0uMzQuMjItLjUzLjIyIi8+PC9zeW1ib2w+PHN5bWJvbCBpZD0iczI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik04LjA3IDIwLjcyYy0uMjIgMC0uNDUtLjA4LS42Mi0uMjZhLjg4Ljg4IDAgMCAxIDAtMS4yNGw3LjI2LTcuMjZMNy40NSA0LjdhLjg4Ljg4IDAgMCAxIDAtMS4yNGMuMzQtLjM0LjktLjM0IDEuMjQgMGw4LjUgOC41LTguNDkgOC40OWMtLjE3LjE3LS40LjI2LS42Mi4yNloiLz48L3N5bWJvbD48c3ltYm9sIGlkPSJzMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggZD0iTTEwLjc2IDI3LjVjLS4yNiAwLS41MS0uMS0uNzEtLjI5YS45OTYuOTk2IDAgMCAxIDAtMS40MWw5Ljc5LTkuNzktOS43OS05LjgxYS45OTYuOTk2IDAgMSAxIDEuNDEtMS40MUwyMi42NyAxNiAxMS40NiAyNy4yMWMtLjIuMi0uNDUuMjktLjcxLjI5WiIvPjwvc3ltYm9sPjxzeW1ib2wgaWQ9InM0MCIgdmlld0JveD0iMCAwIDQwIDQwIj48cGF0aCBkPSJNMTMuNSAzNC4yMmExLjEyMyAxLjEyMyAwIDAgMS0uOC0xLjkybDEyLjMzLTEyLjMzTDEyLjcgNy42M2MtLjQ0LS40NC0uNDQtMS4xNSAwLTEuNTlzMS4xNS0uNDQgMS41OSAwbDEzLjkzIDEzLjkzTDE0LjMgMzMuODljLS4yMi4yMi0uNTEuMzMtLjguMzMiLz48L3N5bWJvbD48c3ltYm9sIGlkPSJzNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCI+PHBhdGggZD0iTTE2LjE0IDQxYy0uMzIgMC0uNjQtLjEyLS44OC0uMzdhMS4yNSAxLjI1IDAgMCAxIDAtMS43N2wxNC44Ny0xNC44N0wxNS4yNSA5LjExYy0uNDktLjQ5LS40OS0xLjI4IDAtMS43N3MxLjI4LS40OSAxLjc3IDBsMTYuNjQgMTYuNjQtMTYuNjMgMTYuNjNjLS4yNC4yNC0uNTYuMzctLjg4LjM3WiIvPjwvc3ltYm9sPjxzeW1ib2wgaWQ9InM2NCIgdmlld0JveD0iMCAwIDY0IDY0Ij48cGF0aCBkPSJNMjEuNTEgNTQuNGExLjM3NiAxLjM3NiAwIDAgMS0uOTctMi4zNWwyMC4wMy0yMC4wMy0yMC4wNC0yMC4wM2MtLjU0LS41NC0uNTQtMS40MSAwLTEuOTVzMS40MS0uNTQgMS45NSAwbDIxLjk4IDIxLjk5TDIyLjQ5IDU0Yy0uMjcuMjctLjYyLjQtLjk3LjRaIi8+PC9zeW1ib2w+PHVzZSBzdHlsZT0iZGlzcGxheTogdmFyKC0tczE2LCBub25lKSIgaHJlZj0iI3MxNiIvPjx1c2Ugc3R5bGU9ImRpc3BsYXk6IHZhcigtLXMyNCwgbm9uZSkiIGhyZWY9IiNzMjQiLz48dXNlIHN0eWxlPSJkaXNwbGF5OiB2YXIoLS1zMzIsIG5vbmUpIiBocmVmPSIjczMyIi8+PHVzZSBzdHlsZT0iZGlzcGxheTogdmFyKC0tczQwLCBub25lKSIgaHJlZj0iI3M0MCIvPjx1c2Ugc3R5bGU9ImRpc3BsYXk6IHZhcigtLXM0OCwgbm9uZSkiIGhyZWY9IiNzNDgiLz48dXNlIHN0eWxlPSJkaXNwbGF5OiB2YXIoLS1zNjQsIG5vbmUpIiBocmVmPSIjczY0Ii8+PC9zeW1ib2w+PC9kZWZzPjxzdHlsZT5AbWVkaWEgKG1heC13aWR0aDogMjMuOThweCkge2d7LS1zMTY6YmxvY2s7fX1AbWVkaWEgKG1pbi13aWR0aDogMjRweCkgYW5kIChtYXgtd2lkdGg6IDMxLjk4cHgpIHtney0tczI0OmJsb2NrO319QG1lZGlhIChtaW4td2lkdGg6IDMycHgpIGFuZCAobWF4LXdpZHRoOiAzOS45OHB4KSB7Z3stLXMzMjpibG9jazt9fUBtZWRpYSAobWluLXdpZHRoOiA0MHB4KSBhbmQgKG1heC13aWR0aDogNDcuOThweCkge2d7LS1zNDA6YmxvY2s7fX1AbWVkaWEgKG1pbi13aWR0aDogNDhweCkgYW5kIChtYXgtd2lkdGg6IDYzLjk4cHgpIHtney0tczQ4OmJsb2NrO319QG1lZGlhIChtaW4td2lkdGg6IDY0cHgpIHtney0tczY0OmJsb2NrO319PC9zdHlsZT48Zz48dXNlIGhyZWY9IiNpLWNoZXZyb25yaWdodCIvPjwvZz48L3N2Zz4=")}:host([selected]:not([selected=false])) :is(a,span){color:var(--post-scheme-color-interactive-primary-selected-fg1);font-weight:var(--post-device-font-weight-bold);-webkit-text-decoration:var(--post-core-text-decoration-none);text-decoration:var(--post-core-text-decoration-none)}`;
13
+ const postBreadcrumbItemCss = () => `a{-webkit-text-decoration:var(--post-core-text-decoration-underline);text-decoration:var(--post-core-text-decoration-underline);border-radius:var(--post-device-border-radius-focus);color:var(--post-current-fg)}a:hover{color:var(--post-scheme-color-interactive-primary-hover-fg1)}a{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}a: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){a:is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){a: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){a:is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){a,a:focus{color:LinkText !important}a:hover{text-decoration-thickness:2px}a:visited{color:VisitedText}a.btn:not(.btn-link){border-color:ButtonBorder !important}a.btn.btn-tertiary.px-0{border:0 !important}a.btn.btn-tertiary.px-0:not(:hover){text-decoration:underline}}:host([variant=menuitem]) :is(a,span),:host([variant=menuitem]) ::slotted(a){white-space:normal;overflow-wrap:anywhere;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;line-break:strict}:host([variant=listitem]){display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;padding-block:var(--post-device-spacing-padding-block-6);gap:var(--post-device-spacing-gap-inline-5)}:host([variant=listitem]) :is(button,a){display:-ms-inline-flexbox;display:inline-flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;max-width:100%;overflow:hidden;-webkit-transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-color:rgba(0,0,0,0);border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);-webkit-box-shadow:none;box-shadow:none;font-family:inherit;font-size:var(--post-device-font-size-6);font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;font:inherit;padding:unset;border:unset;border-radius:var(--post-device-border-radius-focus);color:var(--post-scheme-color-interactive-primary-enabled-fg1);-webkit-text-decoration:var(--post-core-text-decoration-none);text-decoration:var(--post-core-text-decoration-none)}:host([variant=listitem]) :is(button,a):not(:disabled):hover{text-decoration:none}:host([variant=listitem]) :is(button,a):disabled{border-style:var(--post-core-border-style-dash);cursor:unset}:host([variant=listitem]) :is(button,a){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([variant=listitem]) :is(button,a):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){:host([variant=listitem]) :is(button,a):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){:host([variant=listitem]) :is(button,a):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){:host([variant=listitem]) :is(button,a):is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host([variant=listitem]) :is(button,a){border-width:1px !important;-webkit-transition:none;transition:none}:host([variant=listitem]) :is(button,a):is(button){background-color:ButtonFace !important;border-color:ButtonBorder !important}}:host([variant=listitem]) :is(button,a):hover{color:var(--post-scheme-color-interactive-primary-hover-fg1);-webkit-text-decoration:var(--post-core-text-decoration-underline);text-decoration:var(--post-core-text-decoration-underline)}:host([variant=listitem])::before{-webkit-mask-image:var(--post-icon-chevronright);mask-image:var(--post-icon-chevronright);background-color:currentColor;-ms-flex:0 0 auto;flex:0 0 auto;content:"";display:block;height:var(--post-device-sizing-interactive-icon-size4);width:var(--post-device-sizing-interactive-icon-size4);margin-block:calc(var(--post-device-spacing-padding-35) - 1*var(--post-device-spacing-padding-block-6));margin-inline:var(--post-core-dimension-4)}:root,:host{--post-icon-chevronright:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxzeW1ib2wgaWQ9ImktY2hldnJvbnJpZ2h0Ij48c3ltYm9sIGlkPSJzMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTUuMzggMTRjLS4xOSAwLS4zOC0uMDctLjUzLS4yMmEuNzU0Ljc1NCAwIDAgMSAwLTEuMDZMOS41NyA4IDQuODUgMy4yOGMtLjI5LS4yOS0uMjktLjc3IDAtMS4wNnMuNzctLjI5IDEuMDYgMEwxMS42OSA4bC01Ljc4IDUuNzhjLS4xNS4xNS0uMzQuMjItLjUzLjIyIi8+PC9zeW1ib2w+PHN5bWJvbCBpZD0iczI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik04LjA3IDIwLjcyYy0uMjIgMC0uNDUtLjA4LS42Mi0uMjZhLjg4Ljg4IDAgMCAxIDAtMS4yNGw3LjI2LTcuMjZMNy40NSA0LjdhLjg4Ljg4IDAgMCAxIDAtMS4yNGMuMzQtLjM0LjktLjM0IDEuMjQgMGw4LjUgOC41LTguNDkgOC40OWMtLjE3LjE3LS40LjI2LS42Mi4yNloiLz48L3N5bWJvbD48c3ltYm9sIGlkPSJzMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggZD0iTTEwLjc2IDI3LjVjLS4yNiAwLS41MS0uMS0uNzEtLjI5YS45OTYuOTk2IDAgMCAxIDAtMS40MWw5Ljc5LTkuNzktOS43OS05LjgxYS45OTYuOTk2IDAgMSAxIDEuNDEtMS40MUwyMi42NyAxNiAxMS40NiAyNy4yMWMtLjIuMi0uNDUuMjktLjcxLjI5WiIvPjwvc3ltYm9sPjxzeW1ib2wgaWQ9InM0MCIgdmlld0JveD0iMCAwIDQwIDQwIj48cGF0aCBkPSJNMTMuNSAzNC4yMmExLjEyMyAxLjEyMyAwIDAgMS0uOC0xLjkybDEyLjMzLTEyLjMzTDEyLjcgNy42M2MtLjQ0LS40NC0uNDQtMS4xNSAwLTEuNTlzMS4xNS0uNDQgMS41OSAwbDEzLjkzIDEzLjkzTDE0LjMgMzMuODljLS4yMi4yMi0uNTEuMzMtLjguMzMiLz48L3N5bWJvbD48c3ltYm9sIGlkPSJzNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCI+PHBhdGggZD0iTTE2LjE0IDQxYy0uMzIgMC0uNjQtLjEyLS44OC0uMzdhMS4yNSAxLjI1IDAgMCAxIDAtMS43N2wxNC44Ny0xNC44N0wxNS4yNSA5LjExYy0uNDktLjQ5LS40OS0xLjI4IDAtMS43N3MxLjI4LS40OSAxLjc3IDBsMTYuNjQgMTYuNjQtMTYuNjMgMTYuNjNjLS4yNC4yNC0uNTYuMzctLjg4LjM3WiIvPjwvc3ltYm9sPjxzeW1ib2wgaWQ9InM2NCIgdmlld0JveD0iMCAwIDY0IDY0Ij48cGF0aCBkPSJNMjEuNTEgNTQuNGExLjM3NiAxLjM3NiAwIDAgMS0uOTctMi4zNWwyMC4wMy0yMC4wMy0yMC4wNC0yMC4wM2MtLjU0LS41NC0uNTQtMS40MSAwLTEuOTVzMS40MS0uNTQgMS45NSAwbDIxLjk4IDIxLjk5TDIyLjQ5IDU0Yy0uMjcuMjctLjYyLjQtLjk3LjRaIi8+PC9zeW1ib2w+PHVzZSBzdHlsZT0iZGlzcGxheTogdmFyKC0tczE2LCBub25lKSIgaHJlZj0iI3MxNiIvPjx1c2Ugc3R5bGU9ImRpc3BsYXk6IHZhcigtLXMyNCwgbm9uZSkiIGhyZWY9IiNzMjQiLz48dXNlIHN0eWxlPSJkaXNwbGF5OiB2YXIoLS1zMzIsIG5vbmUpIiBocmVmPSIjczMyIi8+PHVzZSBzdHlsZT0iZGlzcGxheTogdmFyKC0tczQwLCBub25lKSIgaHJlZj0iI3M0MCIvPjx1c2Ugc3R5bGU9ImRpc3BsYXk6IHZhcigtLXM0OCwgbm9uZSkiIGhyZWY9IiNzNDgiLz48dXNlIHN0eWxlPSJkaXNwbGF5OiB2YXIoLS1zNjQsIG5vbmUpIiBocmVmPSIjczY0Ii8+PC9zeW1ib2w+PC9kZWZzPjxzdHlsZT5AbWVkaWEgKG1heC13aWR0aDogMjMuOThweCkge2d7LS1zMTY6YmxvY2s7fX1AbWVkaWEgKG1pbi13aWR0aDogMjRweCkgYW5kIChtYXgtd2lkdGg6IDMxLjk4cHgpIHtney0tczI0OmJsb2NrO319QG1lZGlhIChtaW4td2lkdGg6IDMycHgpIGFuZCAobWF4LXdpZHRoOiAzOS45OHB4KSB7Z3stLXMzMjpibG9jazt9fUBtZWRpYSAobWluLXdpZHRoOiA0MHB4KSBhbmQgKG1heC13aWR0aDogNDcuOThweCkge2d7LS1zNDA6YmxvY2s7fX1AbWVkaWEgKG1pbi13aWR0aDogNDhweCkgYW5kIChtYXgtd2lkdGg6IDYzLjk4cHgpIHtney0tczQ4OmJsb2NrO319QG1lZGlhIChtaW4td2lkdGg6IDY0cHgpIHtney0tczY0OmJsb2NrO319PC9zdHlsZT48Zz48dXNlIGhyZWY9IiNpLWNoZXZyb25yaWdodCIvPjwvZz48L3N2Zz4=")}:host([variant=listitem]):not([standalone]:not([standalone=false])) ::slotted(a){white-space:nowrap}:host([variant=listitem]):host([selected]:not([selected=false])){-ms-flex-negative:0;flex-shrink:0}:host([variant=listitem]):host([selected]:not([selected=false])) :is(a,span){color:var(--post-scheme-color-interactive-primary-selected-fg1);font-weight:var(--post-device-font-weight-bold);-webkit-text-decoration:var(--post-core-text-decoration-none);text-decoration:var(--post-core-text-decoration-none)}:host([variant=listitem]):host([standalone]:not([standalone=false])){-ms-flex-negative:1;flex-shrink:1}:host([variant=listitem]):host([standalone]:not([standalone=false])) :is(a,span),:host([variant=listitem]):host([standalone]:not([standalone=false])) ::slotted(a){white-space:normal;overflow-wrap:anywhere;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;line-break:strict}`;
14
14
 
15
15
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
16
16
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -25,6 +25,10 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
25
25
  const PostBreadcrumbItem = class {
26
26
  constructor(hostRef) {
27
27
  index.registerInstance(this, hostRef);
28
+ /**
29
+ * Whether the consumer slotted their own <a>. When true, the component renders only the <slot>, leaving the slotted anchor untouched so the host app's router can handle clicks.
30
+ */
31
+ this.hasSlottedAnchor = false;
28
32
  /**
29
33
  * Controls how the item is rendered, either as a standard list item or within an overflow menu.
30
34
  */
@@ -33,11 +37,33 @@ const PostBreadcrumbItem = class {
33
37
  * Indicates that the item represents the current page, applying appropriate styling.
34
38
  */
35
39
  this.selected = false;
40
+ /**
41
+ * Indicates that this is the only visible item, applying appropriate styling.
42
+ */
43
+ this.standalone = false;
36
44
  }
37
- render() {
45
+ componentWillLoad() {
46
+ this.checkSlottedAnchor();
47
+ }
48
+ checkSlottedAnchor() {
49
+ this.hasSlottedAnchor = Array.from(this.host.children).some(child => child.tagName === 'A');
50
+ }
51
+ renderContent() {
52
+ const slot = index.h("slot", { onSlotchange: () => this.checkSlottedAnchor() });
38
53
  const href = this.url instanceof URL ? this.url.href : this.url;
39
- const content = href ? (index.h("a", { href: href, "aria-current": this.selected ? 'page' : undefined, "aria-label": this.label, "aria-description": this.description }, index.h("slot", null))) : (index.h("span", null, index.h("slot", null)));
40
- return this.variant === 'listitem' || this.selected ? (index.h(index.Host, { "data-version": _package.version, role: "listitem", slot: this.selected ? 'selected' : undefined }, content)) : (index.h(index.Host, { "data-version": _package.version }, index.h("post-menu-item", null, content)));
54
+ if (this.hasSlottedAnchor) {
55
+ return slot;
56
+ }
57
+ else if (!href) {
58
+ return index.h("span", null, slot);
59
+ }
60
+ else {
61
+ return (index.h("a", { href: href, "aria-current": this.selected ? 'page' : undefined, "aria-label": this.label, "aria-description": this.description }, slot));
62
+ }
63
+ }
64
+ render() {
65
+ const content = this.renderContent();
66
+ return this.variant === 'listitem' || this.selected ? (index.h(index.Host, { "data-version": _package.version, role: "listitem", slot: this.selected ? 'selected' : undefined }, content)) : (index.h(index.Host, { "data-version": _package.version, slot: "menu" }, index.h("post-menu-item", null, content)));
41
67
  }
42
68
  get host() { return index.getElement(this); }
43
69
  };
@@ -57,6 +83,10 @@ __decorate([
57
83
  required.Required(),
58
84
  type.Type('boolean')
59
85
  ], PostBreadcrumbItem.prototype, "selected", void 0);
86
+ __decorate([
87
+ required.Required(),
88
+ type.Type('boolean')
89
+ ], PostBreadcrumbItem.prototype, "standalone", void 0);
60
90
  PostBreadcrumbItem.style = postBreadcrumbItemCss();
61
91
 
62
92
  exports.post_breadcrumb_item = PostBreadcrumbItem;
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-B5ypPkK3.js');
4
- var _package = require('./package-CL8OSAS4.js');
4
+ var _package = require('./package-pKyFPwiA.js');
5
5
  var index$1 = require('./index-CggFmZ8n.js');
6
6
  var nanoid = require('./nanoid-CmjyF1Cm.js');
7
7
  var componentOnReady = require('./component-on-ready-CifOTqw1.js');
@@ -10,7 +10,7 @@ var url = require('./url-Cykxre4X.js');
10
10
  var type = require('./type-CAeEC3oM.js');
11
11
  require('./create-validator-decorator-CJK3Xf77.js');
12
12
 
13
- const postBreadcrumbsCss = () => `:host{display:block;position:relative}nav{max-width:100%}nav.invisible{--post-breadcrumb-item-wrap:nowrap;visibility:hidden;overflow:hidden;position:absolute;inset:0;padding-inline:1px}[role=list]{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;gap:var(--post-device-spacing-gap-inline-4)}.breadcrumb-item{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;padding-block:var(--post-device-spacing-padding-block-6);gap:var(--post-device-spacing-gap-inline-5)}.breadcrumb-item :is(button,a){display:-ms-inline-flexbox;display:inline-flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;max-width:100%;overflow:hidden;-webkit-transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-color:rgba(0,0,0,0);border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);-webkit-box-shadow:none;box-shadow:none;font-family:inherit;font-size:var(--post-device-font-size-6);font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;font:inherit;padding:unset;border:unset;color:var(--post-scheme-color-interactive-primary-enabled-fg1);border-radius:var(--post-device-border-radius-focus);-webkit-text-decoration:var(--post-core-text-decoration-none);text-decoration:var(--post-core-text-decoration-none)}.breadcrumb-item :is(button,a):not(:disabled):hover{text-decoration:none}.breadcrumb-item :is(button,a):disabled{border-style:var(--post-core-border-style-dash);cursor:unset}.breadcrumb-item :is(button,a){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(button,a):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(button,a):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.breadcrumb-item :is(button,a):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(button,a):is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.breadcrumb-item :is(button,a){border-width:1px !important;-webkit-transition:none;transition:none}.breadcrumb-item :is(button,a):is(button){background-color:ButtonFace !important;border-color:ButtonBorder !important}}.breadcrumb-item :is(button,a):hover{color:var(--post-scheme-color-interactive-primary-hover-fg1);-webkit-text-decoration:var(--post-core-text-decoration-underline);text-decoration:var(--post-core-text-decoration-underline)}.breadcrumb-item::before{-webkit-mask-image:var(--post-icon-chevronright);mask-image:var(--post-icon-chevronright);background-color:currentColor;-ms-flex:0 0 auto;flex:0 0 auto;content:"";display:block;height:var(--post-device-sizing-interactive-icon-size4);width:var(--post-device-sizing-interactive-icon-size4);margin-block:calc(var(--post-device-spacing-padding-35) - 1*var(--post-device-spacing-padding-block-6));margin-inline:var(--post-core-dimension-4)}:root,:host{--post-icon-chevronright:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxzeW1ib2wgaWQ9ImktY2hldnJvbnJpZ2h0Ij48c3ltYm9sIGlkPSJzMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTUuMzggMTRjLS4xOSAwLS4zOC0uMDctLjUzLS4yMmEuNzU0Ljc1NCAwIDAgMSAwLTEuMDZMOS41NyA4IDQuODUgMy4yOGMtLjI5LS4yOS0uMjktLjc3IDAtMS4wNnMuNzctLjI5IDEuMDYgMEwxMS42OSA4bC01Ljc4IDUuNzhjLS4xNS4xNS0uMzQuMjItLjUzLjIyIi8+PC9zeW1ib2w+PHN5bWJvbCBpZD0iczI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik04LjA3IDIwLjcyYy0uMjIgMC0uNDUtLjA4LS42Mi0uMjZhLjg4Ljg4IDAgMCAxIDAtMS4yNGw3LjI2LTcuMjZMNy40NSA0LjdhLjg4Ljg4IDAgMCAxIDAtMS4yNGMuMzQtLjM0LjktLjM0IDEuMjQgMGw4LjUgOC41LTguNDkgOC40OWMtLjE3LjE3LS40LjI2LS42Mi4yNloiLz48L3N5bWJvbD48c3ltYm9sIGlkPSJzMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggZD0iTTEwLjc2IDI3LjVjLS4yNiAwLS41MS0uMS0uNzEtLjI5YS45OTYuOTk2IDAgMCAxIDAtMS40MWw5Ljc5LTkuNzktOS43OS05LjgxYS45OTYuOTk2IDAgMSAxIDEuNDEtMS40MUwyMi42NyAxNiAxMS40NiAyNy4yMWMtLjIuMi0uNDUuMjktLjcxLjI5WiIvPjwvc3ltYm9sPjxzeW1ib2wgaWQ9InM0MCIgdmlld0JveD0iMCAwIDQwIDQwIj48cGF0aCBkPSJNMTMuNSAzNC4yMmExLjEyMyAxLjEyMyAwIDAgMS0uOC0xLjkybDEyLjMzLTEyLjMzTDEyLjcgNy42M2MtLjQ0LS40NC0uNDQtMS4xNSAwLTEuNTlzMS4xNS0uNDQgMS41OSAwbDEzLjkzIDEzLjkzTDE0LjMgMzMuODljLS4yMi4yMi0uNTEuMzMtLjguMzMiLz48L3N5bWJvbD48c3ltYm9sIGlkPSJzNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCI+PHBhdGggZD0iTTE2LjE0IDQxYy0uMzIgMC0uNjQtLjEyLS44OC0uMzdhMS4yNSAxLjI1IDAgMCAxIDAtMS43N2wxNC44Ny0xNC44N0wxNS4yNSA5LjExYy0uNDktLjQ5LS40OS0xLjI4IDAtMS43N3MxLjI4LS40OSAxLjc3IDBsMTYuNjQgMTYuNjQtMTYuNjMgMTYuNjNjLS4yNC4yNC0uNTYuMzctLjg4LjM3WiIvPjwvc3ltYm9sPjxzeW1ib2wgaWQ9InM2NCIgdmlld0JveD0iMCAwIDY0IDY0Ij48cGF0aCBkPSJNMjEuNTEgNTQuNGExLjM3NiAxLjM3NiAwIDAgMS0uOTctMi4zNWwyMC4wMy0yMC4wMy0yMC4wNC0yMC4wM2MtLjU0LS41NC0uNTQtMS40MSAwLTEuOTVzMS40MS0uNTQgMS45NSAwbDIxLjk4IDIxLjk5TDIyLjQ5IDU0Yy0uMjcuMjctLjYyLjQtLjk3LjRaIi8+PC9zeW1ib2w+PHVzZSBzdHlsZT0iZGlzcGxheTogdmFyKC0tczE2LCBub25lKSIgaHJlZj0iI3MxNiIvPjx1c2Ugc3R5bGU9ImRpc3BsYXk6IHZhcigtLXMyNCwgbm9uZSkiIGhyZWY9IiNzMjQiLz48dXNlIHN0eWxlPSJkaXNwbGF5OiB2YXIoLS1zMzIsIG5vbmUpIiBocmVmPSIjczMyIi8+PHVzZSBzdHlsZT0iZGlzcGxheTogdmFyKC0tczQwLCBub25lKSIgaHJlZj0iI3M0MCIvPjx1c2Ugc3R5bGU9ImRpc3BsYXk6IHZhcigtLXM0OCwgbm9uZSkiIGhyZWY9IiNzNDgiLz48dXNlIHN0eWxlPSJkaXNwbGF5OiB2YXIoLS1zNjQsIG5vbmUpIiBocmVmPSIjczY0Ii8+PC9zeW1ib2w+PC9kZWZzPjxzdHlsZT5AbWVkaWEgKG1heC13aWR0aDogMjMuOThweCkge2d7LS1zMTY6YmxvY2s7fX1AbWVkaWEgKG1pbi13aWR0aDogMjRweCkgYW5kIChtYXgtd2lkdGg6IDMxLjk4cHgpIHtney0tczI0OmJsb2NrO319QG1lZGlhIChtaW4td2lkdGg6IDMycHgpIGFuZCAobWF4LXdpZHRoOiAzOS45OHB4KSB7Z3stLXMzMjpibG9jazt9fUBtZWRpYSAobWluLXdpZHRoOiA0MHB4KSBhbmQgKG1heC13aWR0aDogNDcuOThweCkge2d7LS1zNDA6YmxvY2s7fX1AbWVkaWEgKG1pbi13aWR0aDogNDhweCkgYW5kIChtYXgtd2lkdGg6IDYzLjk4cHgpIHtney0tczQ4OmJsb2NrO319QG1lZGlhIChtaW4td2lkdGg6IDY0cHgpIHtney0tczY0OmJsb2NrO319PC9zdHlsZT48Zz48dXNlIGhyZWY9IiNpLWNoZXZyb25yaWdodCIvPjwvZz48L3N2Zz4=")}.home{padding-block:var(--post-device-spacing-padding-47)}.home::before{content:unset}.home post-icon{width:var(--post-device-sizing-interactive-icon-size2);height:var(--post-device-sizing-interactive-icon-size2)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}`;
13
+ const postBreadcrumbsCss = () => `:host{display:block;position:relative}nav{max-width:100%}nav.invisible{overflow:hidden;visibility:hidden;position:absolute;inset:0}nav.loading>div>:not(.home){display:none}[role=list]{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;gap:var(--post-device-spacing-gap-inline-4)}[role=list]>.menu:first-child::before{content:none}.breadcrumb-item{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;padding-block:var(--post-device-spacing-padding-block-6);gap:var(--post-device-spacing-gap-inline-5)}.breadcrumb-item :is(button,a){display:-ms-inline-flexbox;display:inline-flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;max-width:100%;overflow:hidden;-webkit-transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:var(--post-device-border-width-default);border-style:solid;border-color:rgba(0,0,0,0);border-radius:var(--post-device-border-radius-round);background-color:rgba(0,0,0,0);-webkit-box-shadow:none;box-shadow:none;font-family:inherit;font-size:var(--post-device-font-size-6);font-weight:var(--post-device-font-weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;font:inherit;padding:unset;border:unset;border-radius:var(--post-device-border-radius-focus);color:var(--post-scheme-color-interactive-primary-enabled-fg1);-webkit-text-decoration:var(--post-core-text-decoration-none);text-decoration:var(--post-core-text-decoration-none)}.breadcrumb-item :is(button,a):not(:disabled):hover{text-decoration:none}.breadcrumb-item :is(button,a):disabled{border-style:var(--post-core-border-style-dash);cursor:unset}.breadcrumb-item :is(button,a){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(button,a):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(button,a):is(:focus-visible,:has(:focus-visible),.pretend-focus){outline-color:Highlight !important}}@supports not selector(:has(:focus-visible)){.breadcrumb-item :is(button,a):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(button,a):is(:focus-visible,:focus-within,.pretend-focus){outline-color:Highlight !important}}}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.breadcrumb-item :is(button,a){border-width:1px !important;-webkit-transition:none;transition:none}.breadcrumb-item :is(button,a):is(button){background-color:ButtonFace !important;border-color:ButtonBorder !important}}.breadcrumb-item :is(button,a):hover{color:var(--post-scheme-color-interactive-primary-hover-fg1);-webkit-text-decoration:var(--post-core-text-decoration-underline);text-decoration:var(--post-core-text-decoration-underline)}.breadcrumb-item::before{-webkit-mask-image:var(--post-icon-chevronright);mask-image:var(--post-icon-chevronright);background-color:currentColor;-ms-flex:0 0 auto;flex:0 0 auto;content:"";display:block;height:var(--post-device-sizing-interactive-icon-size4);width:var(--post-device-sizing-interactive-icon-size4);margin-block:calc(var(--post-device-spacing-padding-35) - 1*var(--post-device-spacing-padding-block-6));margin-inline:var(--post-core-dimension-4)}:root,:host{--post-icon-chevronright:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxzeW1ib2wgaWQ9ImktY2hldnJvbnJpZ2h0Ij48c3ltYm9sIGlkPSJzMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTUuMzggMTRjLS4xOSAwLS4zOC0uMDctLjUzLS4yMmEuNzU0Ljc1NCAwIDAgMSAwLTEuMDZMOS41NyA4IDQuODUgMy4yOGMtLjI5LS4yOS0uMjktLjc3IDAtMS4wNnMuNzctLjI5IDEuMDYgMEwxMS42OSA4bC01Ljc4IDUuNzhjLS4xNS4xNS0uMzQuMjItLjUzLjIyIi8+PC9zeW1ib2w+PHN5bWJvbCBpZD0iczI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik04LjA3IDIwLjcyYy0uMjIgMC0uNDUtLjA4LS42Mi0uMjZhLjg4Ljg4IDAgMCAxIDAtMS4yNGw3LjI2LTcuMjZMNy40NSA0LjdhLjg4Ljg4IDAgMCAxIDAtMS4yNGMuMzQtLjM0LjktLjM0IDEuMjQgMGw4LjUgOC41LTguNDkgOC40OWMtLjE3LjE3LS40LjI2LS42Mi4yNloiLz48L3N5bWJvbD48c3ltYm9sIGlkPSJzMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggZD0iTTEwLjc2IDI3LjVjLS4yNiAwLS41MS0uMS0uNzEtLjI5YS45OTYuOTk2IDAgMCAxIDAtMS40MWw5Ljc5LTkuNzktOS43OS05LjgxYS45OTYuOTk2IDAgMSAxIDEuNDEtMS40MUwyMi42NyAxNiAxMS40NiAyNy4yMWMtLjIuMi0uNDUuMjktLjcxLjI5WiIvPjwvc3ltYm9sPjxzeW1ib2wgaWQ9InM0MCIgdmlld0JveD0iMCAwIDQwIDQwIj48cGF0aCBkPSJNMTMuNSAzNC4yMmExLjEyMyAxLjEyMyAwIDAgMS0uOC0xLjkybDEyLjMzLTEyLjMzTDEyLjcgNy42M2MtLjQ0LS40NC0uNDQtMS4xNSAwLTEuNTlzMS4xNS0uNDQgMS41OSAwbDEzLjkzIDEzLjkzTDE0LjMgMzMuODljLS4yMi4yMi0uNTEuMzMtLjguMzMiLz48L3N5bWJvbD48c3ltYm9sIGlkPSJzNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCI+PHBhdGggZD0iTTE2LjE0IDQxYy0uMzIgMC0uNjQtLjEyLS44OC0uMzdhMS4yNSAxLjI1IDAgMCAxIDAtMS43N2wxNC44Ny0xNC44N0wxNS4yNSA5LjExYy0uNDktLjQ5LS40OS0xLjI4IDAtMS43N3MxLjI4LS40OSAxLjc3IDBsMTYuNjQgMTYuNjQtMTYuNjMgMTYuNjNjLS4yNC4yNC0uNTYuMzctLjg4LjM3WiIvPjwvc3ltYm9sPjxzeW1ib2wgaWQ9InM2NCIgdmlld0JveD0iMCAwIDY0IDY0Ij48cGF0aCBkPSJNMjEuNTEgNTQuNGExLjM3NiAxLjM3NiAwIDAgMS0uOTctMi4zNWwyMC4wMy0yMC4wMy0yMC4wNC0yMC4wM2MtLjU0LS41NC0uNTQtMS40MSAwLTEuOTVzMS40MS0uNTQgMS45NSAwbDIxLjk4IDIxLjk5TDIyLjQ5IDU0Yy0uMjcuMjctLjYyLjQtLjk3LjRaIi8+PC9zeW1ib2w+PHVzZSBzdHlsZT0iZGlzcGxheTogdmFyKC0tczE2LCBub25lKSIgaHJlZj0iI3MxNiIvPjx1c2Ugc3R5bGU9ImRpc3BsYXk6IHZhcigtLXMyNCwgbm9uZSkiIGhyZWY9IiNzMjQiLz48dXNlIHN0eWxlPSJkaXNwbGF5OiB2YXIoLS1zMzIsIG5vbmUpIiBocmVmPSIjczMyIi8+PHVzZSBzdHlsZT0iZGlzcGxheTogdmFyKC0tczQwLCBub25lKSIgaHJlZj0iI3M0MCIvPjx1c2Ugc3R5bGU9ImRpc3BsYXk6IHZhcigtLXM0OCwgbm9uZSkiIGhyZWY9IiNzNDgiLz48dXNlIHN0eWxlPSJkaXNwbGF5OiB2YXIoLS1zNjQsIG5vbmUpIiBocmVmPSIjczY0Ii8+PC9zeW1ib2w+PC9kZWZzPjxzdHlsZT5AbWVkaWEgKG1heC13aWR0aDogMjMuOThweCkge2d7LS1zMTY6YmxvY2s7fX1AbWVkaWEgKG1pbi13aWR0aDogMjRweCkgYW5kIChtYXgtd2lkdGg6IDMxLjk4cHgpIHtney0tczI0OmJsb2NrO319QG1lZGlhIChtaW4td2lkdGg6IDMycHgpIGFuZCAobWF4LXdpZHRoOiAzOS45OHB4KSB7Z3stLXMzMjpibG9jazt9fUBtZWRpYSAobWluLXdpZHRoOiA0MHB4KSBhbmQgKG1heC13aWR0aDogNDcuOThweCkge2d7LS1zNDA6YmxvY2s7fX1AbWVkaWEgKG1pbi13aWR0aDogNDhweCkgYW5kIChtYXgtd2lkdGg6IDYzLjk4cHgpIHtney0tczQ4OmJsb2NrO319QG1lZGlhIChtaW4td2lkdGg6IDY0cHgpIHtney0tczY0OmJsb2NrO319PC9zdHlsZT48Zz48dXNlIGhyZWY9IiNpLWNoZXZyb25yaWdodCIvPjwvZz48L3N2Zz4=")}post-menu-item>slot[name=home]>a{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:8px 12px 8px 16px;gap:12px;font-size:.875rem;color:#050400;border-radius:0;text-decoration:none;min-width:0;white-space:normal;overflow:visible;text-overflow:unset;-ms-flex-pack:start;justify-content:start;overflow-wrap:anywhere;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;line-break:strict}@media screen and (min-width: 780px){post-menu-item>slot[name=home]>a{font-size:1rem;padding-block:12px;gap:16px}}@media screen and (min-width: 1024px){post-menu-item>slot[name=home]>a{font-size:1.25rem;padding-block:13px}}post-menu-item>slot[name=home]>a:focus-visible{outline-offset:2px !important;border-radius:4px}post-menu-item>slot[name=home]>a:hover{background-color:#504f4b;color:#fff}.home{-ms-flex:none;flex:none}.home::before{content:unset}.home.icon{padding-block:var(--post-device-spacing-padding-47)}.home.icon post-icon{width:var(--post-device-sizing-interactive-icon-size2);height:var(--post-device-sizing-interactive-icon-size2)}.menu{-webkit-margin-end:calc(-1*var(--post-device-spacing-gap-inline-4));margin-inline-end:calc(-1*var(--post-device-spacing-gap-inline-4))}.menu.empty{display:none}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}`;
14
14
 
15
15
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
16
16
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -22,103 +22,253 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
22
22
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
23
23
  return c > 3 && r && Object.defineProperty(target, key, r), r;
24
24
  };
25
+ const MAX_VISIBLE_ITEMS = 6;
26
+ const MEASUREMENT_DEBOUNCE_MS = 50;
25
27
  const PostBreadcrumbs = class {
26
28
  constructor(hostRef) {
27
29
  index.registerInstance(this, hostRef);
28
- this.shouldRenderMenu = false;
30
+ this.debounceUpdateCollapsedItems = index$1.throttle(MEASUREMENT_DEBOUNCE_MS, this.updateCollapsedItems.bind(this));
31
+ this.resizeObserver = new ResizeObserver(this.debounceUpdateCollapsedItems);
32
+ this.mutationObserver = new MutationObserver(() => {
33
+ void this.updateAfterMutation();
34
+ });
35
+ this.loaded = false;
36
+ /** Whether the consumer slotted their own `<a>` into the `home` slot. When true, `home-url` is not required, since the internal fallback link is not rendered. */
37
+ this.hasSlottedHomeAnchor = false;
38
+ /** Whether the slotted home anchor contains a post-icon. */
39
+ this.hasSlottedHomeIcon = false;
40
+ /** The number of breadcrumb items, counted from the start, moved into the overflow menu. */
41
+ this.collapsed = 0;
42
+ /** Whether the home item is collapsed into its own overflow menu. */
43
+ this.homeCollapsed = false;
44
+ /** Whether the last (selected) item wraps onto multiple lines. */
45
+ this.lastItemWraps = false;
46
+ /** The visible breadcrumb navigation. */
47
+ this.nav = null;
48
+ /** An off-screen copy of the breadcrumb navigation used for measurement. */
49
+ this.hiddenNav = null;
50
+ /**
51
+ * Whether `text-home` content is displayed instead of the home icon, enabling segment specific
52
+ * breadcrumbs (like "Private customers" or "About us").
53
+ */
54
+ this.homeTextOnly = false;
29
55
  }
30
56
  componentWillLoad() {
31
57
  this.id = this.host.id || `b${nanoid.nanoid(6)}`;
58
+ this.checkSlottedHomeAnchor();
32
59
  }
33
- componentDidLoad() {
34
- this.createMutationObserver();
35
- this.createResizeObserver();
36
- }
37
- disconnectedCallback() {
38
- this.mutationObserver?.disconnect();
39
- this.resizeObserver?.disconnect();
40
- }
41
- createMutationObserver() {
42
- this.mutationObserver = new MutationObserver(this.duplicateNavElement.bind(this));
43
- this.mutationObserver.observe(this.host, {
60
+ async componentDidLoad() {
61
+ this.resizeObserver?.observe(document.body);
62
+ this.mutationObserver?.observe(this.host, {
44
63
  childList: true,
45
64
  characterData: true,
46
65
  subtree: true,
47
66
  });
48
- this.duplicateNavElement();
67
+ await this.updateHiddenNav();
68
+ await this.updateCollapsedItems();
69
+ this.loaded = true;
49
70
  }
50
- createResizeObserver() {
51
- this.resizeObserver = new ResizeObserver(index$1.throttle(50, this.checkOverflow.bind(this)));
52
- this.resizeObserver.observe(document.body);
71
+ disconnectedCallback() {
72
+ this.resizeObserver?.disconnect();
73
+ this.mutationObserver?.disconnect();
74
+ this.debounceUpdateCollapsedItems.cancel();
53
75
  }
54
- /**
55
- * To measure overflow, we duplicate the entire breadcrumb so an inline version is always available.
56
- */
57
- duplicateNavElement() {
58
- const shadowRoot = this.host.shadowRoot;
59
- const nav = shadowRoot?.querySelector('nav');
60
- if (!shadowRoot || !nav)
61
- return;
62
- this.prepareBreadcrumbItemsForClone();
63
- const clone = nav.cloneNode(true);
64
- clone.classList.add('invisible');
65
- shadowRoot.querySelector('nav.invisible')?.remove();
66
- shadowRoot.append(clone);
67
- requestAnimationFrame(() => {
68
- this.duplicateSlottedElements(clone, 'slot:not([name])');
69
- this.duplicateSlottedElements(clone, 'slot[name="selected"]');
70
- this.checkOverflow();
71
- });
76
+ checkSlottedHomeAnchor() {
77
+ const homeSlotElement = Array.from(this.host.children).find(child => child.getAttribute('slot') === 'home');
78
+ this.hasSlottedHomeAnchor = homeSlotElement?.tagName === 'A';
79
+ this.hasSlottedHomeIcon =
80
+ this.hasSlottedHomeAnchor && !!homeSlotElement?.querySelector('post-icon');
72
81
  }
73
- duplicateSlottedElements(clone, slotSelector) {
74
- const originalSlot = this.host.shadowRoot?.querySelector(slotSelector);
75
- const clonedSlot = clone.querySelector(slotSelector);
76
- if (!originalSlot || !clonedSlot)
77
- return;
78
- originalSlot.assignedElements().forEach(element => {
79
- clonedSlot.insertAdjacentElement('beforebegin', element.cloneNode(true));
80
- });
81
- clonedSlot.remove();
82
+ get usesHomeText() {
83
+ return this.hasSlottedHomeAnchor ? !this.hasSlottedHomeIcon : this.homeTextOnly;
82
84
  }
83
- checkOverflow() {
84
- const hiddenNav = this.host.shadowRoot?.querySelector('nav.invisible');
85
- if (!hiddenNav)
85
+ // Degrade order: collapse middle items -> collapse home -> wrap the last item.
86
+ /** Measures the available space and updates all three degrade-stage states. */
87
+ async updateCollapsedItems() {
88
+ if (!this.nav)
86
89
  return;
87
- const breadcrumbItems = Array.from(hiddenNav.querySelectorAll('post-breadcrumb-item'));
88
- Promise.all(breadcrumbItems.map(item => componentOnReady.componentOnReady(item))).then(() => {
89
- this.shouldRenderMenu =
90
- hiddenNav.scrollWidth > hiddenNav.clientWidth && breadcrumbItems.length > 1;
91
- this.updateBreadcrumbItemProps();
90
+ const { overflowing, homeOverflows, lastItemWraps } = await this.calculateCollapsedItems();
91
+ this.collapsed = overflowing;
92
+ this.homeCollapsed = homeOverflows;
93
+ this.lastItemWraps = lastItemWraps;
94
+ }
95
+ async calculateCollapsedItems() {
96
+ const items = this.host.querySelectorAll('post-breadcrumb-item');
97
+ const { overflowing, homeOverflows, lastItemWraps } = await this.calculateOverflowingItems();
98
+ // Never show more than `MAX_VISIBLE_ITEMS`, even if the nav is wide enough to fit them all.
99
+ return {
100
+ overflowing: Math.max(overflowing, items.length - MAX_VISIBLE_ITEMS),
101
+ homeOverflows,
102
+ lastItemWraps,
103
+ };
104
+ }
105
+ /** Runs the three degrade stages in order against the off-screen measurement clone. */
106
+ async calculateOverflowingItems() {
107
+ if (!this.hiddenNav)
108
+ return { overflowing: 0, homeOverflows: false, lastItemWraps: false };
109
+ const nav = this.hiddenNav;
110
+ const availableWidth = nav.clientWidth;
111
+ const gap = Number.parseFloat(getComputedStyle(nav.firstElementChild).gap);
112
+ const menuWidth = nav.querySelector('.menu')?.clientWidth ?? 0;
113
+ const homeWidth = nav.querySelector('.home')?.clientWidth ?? 0;
114
+ // Stage 1: collapse middle items, starting closest to home, until the rest fits.
115
+ const middleItems = Array.from(nav.querySelectorAll('post-breadcrumb-item')).slice(0, -1);
116
+ const { overflowing, remainingWidth } = this.collapseMiddleItems(middleItems, gap, menuWidth, availableWidth);
117
+ // Stage 2: home + last item, single-line. Text home can collapse into the menu, while the
118
+ // icon-only home remains visible and lets the last item wrap instead.
119
+ const homeOverflows = this.usesHomeText && remainingWidth > availableWidth;
120
+ // Stage 3: home joins the existing menu when middle items have collapsed. If no middle item
121
+ // collapsed, the menu needs to be added when home moves into it.
122
+ const widthWithHomeCollapsed = remainingWidth - homeWidth + (overflowing === 0 ? menuWidth : 0);
123
+ const lastItemWraps = this.usesHomeText
124
+ ? homeOverflows && widthWithHomeCollapsed > availableWidth
125
+ : remainingWidth > availableWidth;
126
+ return { overflowing, homeOverflows, lastItemWraps };
127
+ }
128
+ /** Stage 1: collapses middle items until the rest fits, or none are left. */
129
+ collapseMiddleItems(items, gap, menuWidth, availableWidth) {
130
+ // Start from the assumption that all items fit and that no menu is shown, so subtract the
131
+ // overflow menu's width from the total.
132
+ let width = this.hiddenNav.scrollWidth - menuWidth + gap;
133
+ let overflowing = 0;
134
+ while (overflowing < items.length && width > availableWidth) {
135
+ // The overflow menu needs to be displayed as soon as the first item is moved into it, so its
136
+ // width needs to be taken into account when measuring the remaining items.
137
+ if (overflowing === 0)
138
+ width += menuWidth;
139
+ width -= items[overflowing++].clientWidth + gap;
140
+ }
141
+ return { overflowing, remainingWidth: width };
142
+ }
143
+ /** Applies the degrade states to the `<post-breadcrumb-item>` elements. */
144
+ updateItems(items, collapsed, lastItemWraps) {
145
+ items.forEach((item, index) => {
146
+ const isLast = index === items.length - 1;
147
+ item.setAttribute('variant', index < collapsed ? 'menuitem' : 'listitem');
148
+ item.setAttribute('selected', String(isLast));
149
+ item.setAttribute('standalone', String(isLast && index === collapsed && lastItemWraps));
92
150
  });
93
151
  }
94
- prepareBreadcrumbItemsForClone() {
95
- this.shouldRenderMenu = false;
96
- this.updateBreadcrumbItemProps();
152
+ /** Rebuilds the off-screen copy of the breadcrumb navigation. */
153
+ async updateHiddenNav() {
154
+ this.hiddenNav?.remove();
155
+ this.hiddenNav = await this.renderHiddenNav();
156
+ }
157
+ async updateAfterMutation() {
158
+ await this.updateHiddenNav();
159
+ await this.updateCollapsedItems();
97
160
  }
98
- updateBreadcrumbItemProps() {
99
- const breadcrumbItems = this.host.querySelectorAll('post-breadcrumb-item');
100
- breadcrumbItems.forEach((item, index) => {
101
- item.setAttribute('variant', this.shouldRenderMenu ? 'menuitem' : 'listitem');
102
- item.setAttribute('selected', String(index === breadcrumbItems.length - 1));
161
+ /**
162
+ * Renders an off-screen copy of the nav for measurements. `.home` is rebuilt independently (see
163
+ * `buildMeasurementHomeElement`) rather than cloned, since the live nav may show the home item
164
+ * in the overflow menu instead if it is already collapsed.
165
+ */
166
+ async renderHiddenNav() {
167
+ const shadowRoot = this.host.shadowRoot;
168
+ if (!shadowRoot || !this.nav)
169
+ return null;
170
+ const clone = this.nav.cloneNode(true);
171
+ const slots = clone.querySelectorAll('slot');
172
+ // Deep clone the breadcrumb navigation and flatten its slots into the clone.
173
+ this.nav.querySelectorAll('slot').forEach((source, index) => {
174
+ const target = slots[index];
175
+ const assignedElements = source.assignedElements();
176
+ if (assignedElements.length > 0) {
177
+ // Insert the assigned elements where the slot used to be, then drop the now empty slot.
178
+ assignedElements.forEach(element => {
179
+ target.insertAdjacentElement('beforebegin', element.cloneNode(true));
180
+ });
181
+ target.remove();
182
+ }
183
+ else {
184
+ // Nothing assigned: keep the slot's own fallback content (e.g. the default home link) by
185
+ // unwrap the <slot> in place, move its children to where it was, then remove it.
186
+ const parent = target.parentNode;
187
+ if (parent) {
188
+ Array.from(target.childNodes).forEach(child => parent.insertBefore(child, target));
189
+ target.remove();
190
+ }
191
+ }
103
192
  });
193
+ // Always measure the full, uncollapsed home item — see the method doc above. Uses
194
+ // replaceChild rather than replaceWith, since the latter isn't implemented by Stencil's
195
+ // mock-doc DOM used during SSR/hydration.
196
+ const existingHome = clone.querySelector('.home');
197
+ existingHome?.parentNode?.replaceChild(this.buildMeasurementHomeElement(), existingHome);
198
+ clone.classList.remove('loading');
199
+ clone.classList.add('invisible');
200
+ // Show the overflow menu so that we can include the space it takes up in the measurement.
201
+ clone.querySelector('.menu').classList.remove('empty');
202
+ shadowRoot.append(clone);
203
+ // Wait for all items to be fully hydrated before measuring.
204
+ const items = clone.querySelectorAll('post-breadcrumb-item');
205
+ await Promise.all(Array.from(items).map(item => componentOnReady.componentOnReady(item)));
206
+ // Uncollapsed layout, both single-line, for measurement.
207
+ this.updateItems(items, 0, false);
208
+ return clone;
209
+ }
210
+ /** Builds `.home` in its full, uncollapsed form for measurement. Mirrors `renderHomeContent`, but as plain DOM since this runs outside the render cycle. */
211
+ buildMeasurementHomeElement() {
212
+ const home = document.createElement('div');
213
+ home.className = `breadcrumb-item home${this.usesHomeText ? '' : ' icon'}`;
214
+ home.setAttribute('role', 'listitem');
215
+ const slottedAnchor = this.hasSlottedHomeAnchor
216
+ ? Array.from(this.host.children).find(child => child.getAttribute('slot') === 'home')
217
+ : null;
218
+ if (slottedAnchor) {
219
+ home.append(slottedAnchor.cloneNode(true));
220
+ return home;
221
+ }
222
+ const anchor = document.createElement('a');
223
+ if (this.homeUrl)
224
+ anchor.href = this.homeUrl;
225
+ const label = document.createElement('span');
226
+ if (!this.usesHomeText)
227
+ label.className = 'visually-hidden';
228
+ label.textContent = this.textHome;
229
+ anchor.append(label);
230
+ if (!this.usesHomeText) {
231
+ const icon = document.createElement('post-icon');
232
+ icon.setAttribute('aria-hidden', 'true');
233
+ icon.setAttribute('name', 'home');
234
+ anchor.append(icon);
235
+ }
236
+ home.append(anchor);
237
+ return home;
104
238
  }
105
239
  renderMenu() {
106
240
  const menuId = `${this.id}-menu`;
107
- return (index.h("div", { role: "listitem" }, index.h("div", { class: "breadcrumb-item" }, index.h("post-menu-trigger", { for: menuId }, index.h("button", null, index.h("span", { class: "visually-hidden" }, this.textMoreItems), index.h("span", { "aria-hidden": "true" }, "...")))), index.h("post-menu", { id: menuId, label: this.textMoreItems, placement: "bottom-start" }, index.h("slot", null))));
241
+ return (index.h("div", { class: `breadcrumb-item menu ${this.collapsed === 0 && !this.homeCollapsed ? 'empty' : ''}`, role: "listitem" }, index.h("post-menu-trigger", { for: menuId }, index.h("button", null, index.h("span", { class: "visually-hidden" }, this.textMoreItems), index.h("span", { "aria-hidden": "true" }, "..."))), index.h("post-menu", { id: menuId, label: this.textMoreItems, placement: "bottom-start" }, this.homeCollapsed && this.usesHomeText && (index.h("post-menu-item", null, this.renderHomeContent())), index.h("slot", { name: "menu" }))));
242
+ }
243
+ /** Reused by the plain home item and the home menu — a slot can only be assigned once. */
244
+ renderHomeContent() {
245
+ return (index.h("slot", { name: "home", onSlotchange: () => this.checkSlottedHomeAnchor() }, index.h("a", { href: this.homeUrl }, index.h("span", { class: this.usesHomeText ? undefined : 'visually-hidden' }, this.textHome), !this.usesHomeText && index.h("post-icon", { "aria-hidden": "true", name: "home" }))));
246
+ }
247
+ /** Degrade stage 2: home renders in full, single-line, not yet collapsed. */
248
+ renderHome() {
249
+ return (index.h("div", { class: `breadcrumb-item home${this.usesHomeText ? '' : ' icon'}`, role: "listitem" }, this.renderHomeContent()));
108
250
  }
109
251
  render() {
110
- return (index.h(index.Host, { key: '2640a012ada112396ea3c954cda45c7bfaf2968d', "data-version": _package.version }, index.h("nav", { key: '397a017f326459c433e0f8fae5766badfad52e29', "aria-label": this.textBreadcrumbs }, index.h("div", { key: 'eb1d83aeb4aca599350918ba6be9df2a5ce86453', role: "list" }, index.h("div", { key: '217b359f3da4afc3ca8c28d8fc0d352f4198c9b1', class: "breadcrumb-item home", role: "listitem" }, index.h("a", { key: '1c2c3754bc0ef04e48ab95b5dad62e2d4cbb85e9', href: this.homeUrl }, index.h("span", { key: '15878d068a9901a2c7b4f6726e6962dc9158a86f', class: "visually-hidden" }, this.textHome), index.h("post-icon", { key: '0d755bcc61c49ccd7944b4a9370198ed41ab1c34', "aria-hidden": "true", name: "home" }))), this.shouldRenderMenu ? this.renderMenu() : index.h("slot", null), index.h("slot", { key: 'a0bafe06eab2346ea12bd00aec40c91b5e5347d0', name: "selected" })))));
252
+ if (this.loaded) {
253
+ const items = this.host.querySelectorAll('post-breadcrumb-item');
254
+ this.updateItems(items, this.collapsed, this.lastItemWraps);
255
+ }
256
+ return (index.h(index.Host, { key: '8d5f457a7c6a2df0cfaf5c31f3ffc6937de76e57', "data-version": _package.version, class: this.homeCollapsed && this.usesHomeText ? 'home-collapsed' : undefined }, index.h("nav", { key: 'ce3fd7ad69060dd6968afaad6170e27eee72682f', "aria-label": this.textBreadcrumbs, ref: el => (this.nav = el), class: this.loaded ? '' : 'loading' }, index.h("div", { key: '1c400c8c1e1b625203876cc9804936782a2202c6', role: "list" }, (!this.homeCollapsed || !this.usesHomeText) && this.renderHome(), this.renderMenu(), index.h("slot", { key: '5cf6618b487961c0e7d70637f5396d023660ec55' }), index.h("slot", { key: 'f4fb662d04d9966c76a22444844d692611472b2d', name: "selected" })))));
111
257
  }
112
258
  get host() { return index.getElement(this); }
113
259
  };
114
260
  __decorate([
115
- required.Required(),
261
+ required.Required({ when: 'hasSlottedHomeAnchor', truthy: false }),
116
262
  url.Url()
117
263
  ], PostBreadcrumbs.prototype, "homeUrl", void 0);
118
264
  __decorate([
119
- required.Required(),
265
+ required.Required({ when: 'hasSlottedHomeAnchor', truthy: false }),
120
266
  type.Type('string')
121
267
  ], PostBreadcrumbs.prototype, "textHome", void 0);
268
+ __decorate([
269
+ required.Required(),
270
+ type.Type('boolean')
271
+ ], PostBreadcrumbs.prototype, "homeTextOnly", void 0);
122
272
  __decorate([
123
273
  required.Required(),
124
274
  type.Type('string')
@@ -1,11 +1,50 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-B5ypPkK3.js');
4
- var _package = require('./package-CL8OSAS4.js');
4
+ var _package = require('./package-pKyFPwiA.js');
5
+ var eventFrom = require('./event-from-CTcQxB9-.js');
5
6
  var oneOf = require('./one-of-7TSi182P.js');
6
7
  var required = require('./required-_r1rzbps.js');
7
8
  require('./create-validator-decorator-CJK3Xf77.js');
8
9
 
10
+ const CLOSABLE_TARGETS = [
11
+ {
12
+ predicate: el => el.localName === 'post-banner',
13
+ close: el => void el.dismiss(),
14
+ },
15
+ {
16
+ predicate: el => el.localName === 'post-popover',
17
+ close: el => void el.hide(),
18
+ },
19
+ {
20
+ predicate: el => el.localName === 'post-popovercontainer',
21
+ close: el => void el.hide(),
22
+ },
23
+ {
24
+ predicate: el => el.localName === 'post-collapsible',
25
+ close: el => void el.toggle(false),
26
+ },
27
+ {
28
+ predicate: el => el.localName === 'post-accordion-item',
29
+ close: el => void el.toggle(false),
30
+ },
31
+ {
32
+ predicate: el => el.localName === 'dialog',
33
+ close: el => el.close(),
34
+ },
35
+ {
36
+ predicate: el => el.hasAttribute('popover'),
37
+ close: el => el.togglePopover(false),
38
+ },
39
+ ];
40
+ function findClosableTarget(start) {
41
+ const el = eventFrom.findClosestAcrossShadow(start, (el) => CLOSABLE_TARGETS.some(t => t.predicate(el)));
42
+ if (!el)
43
+ return null;
44
+ const match = CLOSABLE_TARGETS.find(t => t.predicate(el));
45
+ return { element: el, close: () => match.close(el) };
46
+ }
47
+
9
48
  const BUTTON_TYPES = ['button', 'reset'];
10
49
  const PLACEMENT = ['manual', 'auto'];
11
50
  const SIZE = ['default', 'small'];
@@ -34,7 +73,7 @@ const PostClosebutton = class {
34
73
  }
35
74
  /**
36
75
  * The "type" attribute used for the close button
37
-
76
+
38
77
  */
39
78
  this.buttonType = 'button';
40
79
  /**
@@ -45,6 +84,10 @@ const PostClosebutton = class {
45
84
  * The size of the close button.
46
85
  */
47
86
  this.size = 'default';
87
+ this.handleClick = () => {
88
+ const target = findClosableTarget(this.host);
89
+ target?.close();
90
+ };
48
91
  }
49
92
  componentDidLoad() {
50
93
  if (globalThis.MutationObserver) {
@@ -69,13 +112,8 @@ const PostClosebutton = class {
69
112
  console.error(`The \`${this.host.localName}\` component requires content for accessibility.`);
70
113
  }
71
114
  }
72
- handleClick() {
73
- if (this.buttonType === 'reset')
74
- this.internals.form?.reset();
75
- this.host.closest('dialog')?.close();
76
- }
77
115
  render() {
78
- return (index.h(index.Host, { key: '22ac2b07e9a8a8f8d157423fea1bcedb2c4f9b11', "data-version": _package.version }, index.h("button", { key: '91eb413a2546f131e4c97c28340374addbf2c7a7', type: this.buttonType, class: "btn btn-icon btn-secondary btn-sm", onClick: () => this.handleClick() }, index.h("post-icon", { key: '02202b3df2e5830aeb267921c924c1e75508d546', "aria-hidden": "true", name: "closex" }), index.h("span", { key: 'c691c845dd58b4f975c33791d29518428ade6ee8', ref: el => (this.visuallyHidden = el), class: "visually-hidden" }, index.h("slot", { key: '3fd42b82ef1d1ea76343e0c69f421a2916c26006' })))));
116
+ return (index.h(index.Host, { key: 'b8e2214b904f5167fa3753aab947418891236fcf', "data-version": _package.version }, index.h("button", { key: '224ca42d3be187062ba9717e4a534ff34eeafaf7', type: this.buttonType, class: "btn btn-icon btn-secondary btn-sm", onClick: this.handleClick }, index.h("post-icon", { key: '5b289691599d6f9a3bb0fa7a28c71eecd1f5aee7', "aria-hidden": "true", name: "closex" }), index.h("span", { key: 'e22045f15b3dc8b8b228eb4282114e10db68b186', ref: el => (this.visuallyHidden = el), class: "visually-hidden" }, index.h("slot", { key: 'e492390c995a993ffc8988a1c90a41e59fbe39f5' })))));
79
117
  }
80
118
  static get formAssociated() { return true; }
81
119
  get host() { return index.getElement(this); }