@swisspost/design-system-components 9.0.0-next.8 → 9.0.0-next.9

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/check-url-3ffdd2fb.js +14 -0
  2. package/dist/cjs/debounce-1151afe3.js +12 -0
  3. package/dist/cjs/{index-e1f32cce.js → index-010dc207.js} +20 -27
  4. package/dist/cjs/{index-824d2b71.js → index-5d4e0aed.js} +2 -12
  5. package/dist/cjs/index.cjs.js +45 -42
  6. package/dist/cjs/loader.cjs.js +2 -2
  7. package/dist/cjs/{package-a2b895fc.js → package-8e810a59.js} +1 -1
  8. package/dist/cjs/{post-accordion-3ce01432.js → post-accordion-b9df8522.js} +2 -2
  9. package/dist/cjs/{post-accordion-item-81601b1e.js → post-accordion-item-ecc6749f.js} +8 -7
  10. package/dist/cjs/post-accordion-item.cjs.entry.js +5 -4
  11. package/dist/cjs/post-accordion.cjs.entry.js +3 -3
  12. package/dist/cjs/{post-avatar-b1c97f51.js → post-avatar-f7236084.js} +2 -2
  13. package/dist/cjs/post-avatar.cjs.entry.js +3 -3
  14. package/dist/cjs/post-back-to-top-60762f8e.js +75 -0
  15. package/dist/cjs/post-back-to-top.cjs.entry.js +4 -3
  16. package/dist/cjs/{post-banner-8611eab5.js → post-banner-9662f22c.js} +3 -3
  17. package/dist/cjs/post-banner.cjs.entry.js +5 -4
  18. package/dist/cjs/post-breadcrumb-b40732fc.js +111 -0
  19. package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +17 -0
  20. package/dist/cjs/post-breadcrumb.cjs.entry.js +13 -0
  21. package/dist/cjs/{post-card-control-acd30573.js → post-card-control-039c9a4b.js} +4 -4
  22. package/dist/cjs/post-card-control.cjs.entry.js +3 -3
  23. package/dist/cjs/post-closebutton_15.cjs.entry.js +33 -0
  24. package/dist/cjs/{post-collapsible-trigger-8ca4d85b.js → post-collapsible-trigger-143cf84a.js} +6 -14
  25. package/dist/cjs/post-collapsible_2.cjs.entry.js +6 -4
  26. package/dist/cjs/post-components.cjs.js +2 -2
  27. package/dist/cjs/post-footer-5f7fdf96.js +84 -0
  28. package/dist/cjs/post-footer.cjs.entry.js +11 -0
  29. package/dist/cjs/post-menu-item-bb0b0b9e.js +74 -0
  30. package/dist/cjs/{post-popover-c4f50134.js → post-popover-d0ce9dc6.js} +3 -3
  31. package/dist/cjs/post-popover.cjs.entry.js +3 -3
  32. package/dist/cjs/{post-rating-3a87ca46.js → post-rating-1082197c.js} +3 -3
  33. package/dist/cjs/post-rating.cjs.entry.js +3 -3
  34. package/dist/cjs/{post-tab-header-5fdb05a1.js → post-tab-header-4b6d8d54.js} +3 -3
  35. package/dist/cjs/post-tab-header.cjs.entry.js +3 -3
  36. package/dist/cjs/{post-tab-panel-34aed8e6.js → post-tab-panel-60f211a5.js} +3 -3
  37. package/dist/cjs/post-tab-panel.cjs.entry.js +3 -3
  38. package/dist/cjs/{post-tabs-dd2da5d2.js → post-tabs-1f797ce4.js} +8 -6
  39. package/dist/cjs/post-tabs.cjs.entry.js +3 -3
  40. package/dist/cjs/{post-tag-59232922.js → post-tag-ddaaaedc.js} +3 -3
  41. package/dist/cjs/post-tag.cjs.entry.js +3 -3
  42. package/dist/cjs/{post-megadropdown-trigger-7376d867.js → post-togglebutton-0984a694.js} +1789 -1234
  43. package/dist/cjs/{post-tooltip-3e0c1509.js → post-tooltip-38c839a4.js} +4 -4
  44. package/dist/cjs/post-tooltip.cjs.entry.js +5 -4
  45. package/dist/cjs/slide-5d51abe8.js +28 -0
  46. package/dist/collection/animations/slide.js +4 -4
  47. package/dist/collection/collection-manifest.json +12 -9
  48. package/dist/collection/components/post-accordion-item/post-accordion-item.js +7 -4
  49. package/dist/collection/components/post-back-to-top/post-back-to-top.css +1 -1
  50. package/dist/collection/components/post-back-to-top/post-back-to-top.js +2 -2
  51. package/dist/collection/components/post-breadcrumb/post-breadcrumb.css +3 -0
  52. package/dist/collection/components/post-breadcrumb/post-breadcrumb.js +161 -0
  53. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.css +1 -1
  54. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +11 -1
  55. package/dist/collection/components/post-card-control/post-card-control.js +2 -2
  56. package/dist/collection/components/post-closebutton/post-closebutton.js +1 -1
  57. package/dist/collection/components/post-collapsible/post-collapsible.js +1 -1
  58. package/dist/collection/components/post-footer/post-footer.css +1 -0
  59. package/dist/collection/components/post-footer/post-footer.js +75 -0
  60. package/dist/collection/components/post-header/post-header.css +1 -1
  61. package/dist/collection/components/post-header/post-header.js +74 -17
  62. package/dist/collection/components/post-icon/post-icon.js +1 -1
  63. package/dist/collection/components/post-language-option/post-language-option.css +1 -1
  64. package/dist/collection/components/post-language-option/post-language-option.js +25 -1
  65. package/dist/collection/components/post-language-switch/post-language-switch.css +1 -0
  66. package/dist/collection/components/post-language-switch/post-language-switch.js +163 -0
  67. package/dist/collection/components/post-language-switch/switch-variants.js +1 -0
  68. package/dist/collection/components/post-list/post-list.css +1 -1
  69. package/dist/collection/components/post-list/post-list.js +3 -3
  70. package/dist/collection/components/post-list-item/post-list-item.js +1 -1
  71. package/dist/collection/components/post-logo/post-logo.js +1 -1
  72. package/dist/collection/components/post-mainnavigation/post-mainnavigation.css +1 -1
  73. package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +15 -24
  74. package/dist/collection/components/post-megadropdown/post-megadropdown.css +1 -1
  75. package/dist/collection/components/post-megadropdown/post-megadropdown.js +82 -68
  76. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.css +1 -1
  77. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +80 -24
  78. package/dist/collection/components/post-menu/post-menu.js +6 -4
  79. package/dist/collection/components/post-menu-item/post-menu-item.js +1 -1
  80. package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +11 -1
  81. package/dist/collection/components/post-popover/post-popover.js +1 -1
  82. package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +2 -2
  83. package/dist/collection/components/post-rating/post-rating.js +1 -1
  84. package/dist/collection/components/post-tab-header/post-tab-header.js +1 -1
  85. package/dist/collection/components/post-tab-panel/post-tab-panel.js +1 -1
  86. package/dist/collection/components/post-tabs/post-tabs.js +6 -4
  87. package/dist/collection/components/post-tag/post-tag.js +1 -1
  88. package/dist/collection/components/post-togglebutton/post-togglebutton.css +1 -1
  89. package/dist/collection/components/post-togglebutton/post-togglebutton.js +24 -6
  90. package/dist/collection/components/post-tooltip/post-tooltip.js +1 -1
  91. package/dist/collection/index.js +12 -9
  92. package/dist/collection/utils/breakpoints.js +46 -0
  93. package/dist/components/debounce.js +10 -0
  94. package/dist/components/index.js +12 -9
  95. package/dist/components/index2.js +1 -1
  96. package/dist/components/package.js +1 -1
  97. package/dist/components/post-accordion-item2.js +5 -4
  98. package/dist/components/post-back-to-top2.js +4 -27
  99. package/dist/components/post-breadcrumb-item2.js +13 -3
  100. package/dist/components/post-breadcrumb.d.ts +11 -0
  101. package/dist/components/post-breadcrumb.js +6 -0
  102. package/dist/components/post-breadcrumb2.js +168 -0
  103. package/dist/components/post-card-control2.js +2 -2
  104. package/dist/components/post-closebutton2.js +1 -1
  105. package/dist/components/post-collapsible-trigger2.js +1 -9
  106. package/dist/components/post-collapsible2.js +2 -2
  107. package/dist/components/post-footer.d.ts +11 -0
  108. package/dist/components/post-footer.js +6 -0
  109. package/dist/components/post-footer2.js +124 -0
  110. package/dist/components/post-header2.js +55 -14
  111. package/dist/components/post-icon2.js +2 -2
  112. package/dist/components/post-language-option2.js +5 -3
  113. package/dist/components/post-language-switch.d.ts +11 -0
  114. package/dist/components/post-language-switch.js +6 -0
  115. package/dist/components/post-language-switch2.js +146 -0
  116. package/dist/components/post-list-item2.js +1 -1
  117. package/dist/components/post-list2.js +4 -4
  118. package/dist/components/post-logo2.js +2 -2
  119. package/dist/components/post-mainnavigation2.js +17 -17
  120. package/dist/components/post-megadropdown-trigger2.js +63 -11
  121. package/dist/components/post-megadropdown2.js +48 -22
  122. package/dist/components/post-menu-item2.js +1 -1
  123. package/dist/components/post-menu-trigger2.js +11 -1
  124. package/dist/components/post-menu2.js +6 -4
  125. package/dist/components/post-popover2.js +1 -1
  126. package/dist/components/post-popovercontainer2.js +2 -2
  127. package/dist/components/post-rating2.js +1 -1
  128. package/dist/components/post-tab-header2.js +1 -1
  129. package/dist/components/post-tab-panel2.js +1 -1
  130. package/dist/components/post-tabs2.js +6 -4
  131. package/dist/components/post-tag2.js +1 -1
  132. package/dist/components/post-togglebutton2.js +23 -5
  133. package/dist/components/post-tooltip2.js +2 -2
  134. package/dist/components/slide.js +25 -0
  135. package/dist/docs.json +500 -123
  136. package/dist/esm/check-url-a974431e.js +12 -0
  137. package/dist/esm/debounce-abe98cc2.js +10 -0
  138. package/dist/esm/{index-f8a00dc0.js → index-b49c9904.js} +1 -11
  139. package/dist/esm/{index-e1b64755.js → index-fb8d6be7.js} +20 -27
  140. package/dist/esm/index.js +24 -24
  141. package/dist/esm/loader.js +3 -3
  142. package/dist/esm/package-4d81f3c2.js +3 -0
  143. package/dist/esm/{post-accordion-19e88941.js → post-accordion-ee54a3ef.js} +2 -2
  144. package/dist/esm/{post-accordion-item-33bbe4de.js → post-accordion-item-e10452dc.js} +8 -7
  145. package/dist/esm/post-accordion-item.entry.js +5 -4
  146. package/dist/esm/post-accordion.entry.js +3 -3
  147. package/dist/esm/{post-avatar-d15a9f9e.js → post-avatar-5572fa73.js} +2 -2
  148. package/dist/esm/post-avatar.entry.js +3 -3
  149. package/dist/esm/post-back-to-top-1d823c43.js +73 -0
  150. package/dist/esm/post-back-to-top.entry.js +4 -3
  151. package/dist/esm/{post-banner-bf5e6a18.js → post-banner-78480475.js} +3 -3
  152. package/dist/esm/post-banner.entry.js +5 -4
  153. package/dist/esm/post-breadcrumb-aaa77f74.js +109 -0
  154. package/dist/esm/post-breadcrumb-item_2.entry.js +8 -0
  155. package/dist/esm/post-breadcrumb.entry.js +5 -0
  156. package/dist/esm/{post-card-control-f0788f6f.js → post-card-control-862aa961.js} +4 -4
  157. package/dist/esm/post-card-control.entry.js +3 -3
  158. package/dist/esm/post-closebutton_15.entry.js +11 -0
  159. package/dist/esm/{post-collapsible-trigger-1d939eb6.js → post-collapsible-trigger-1c7833f8.js} +5 -13
  160. package/dist/esm/post-collapsible_2.entry.js +6 -4
  161. package/dist/esm/post-components.js +3 -3
  162. package/dist/esm/post-footer-b18875e7.js +82 -0
  163. package/dist/esm/post-footer.entry.js +3 -0
  164. package/dist/esm/post-menu-item-2906384b.js +71 -0
  165. package/dist/esm/{post-popover-7195d05a.js → post-popover-2432bb3f.js} +3 -3
  166. package/dist/esm/post-popover.entry.js +3 -3
  167. package/dist/esm/{post-rating-8baf86fe.js → post-rating-95cbdbb8.js} +3 -3
  168. package/dist/esm/post-rating.entry.js +3 -3
  169. package/dist/esm/{post-tab-header-a1d1d9d0.js → post-tab-header-dfea00ea.js} +3 -3
  170. package/dist/esm/post-tab-header.entry.js +3 -3
  171. package/dist/esm/{post-tab-panel-afce8d40.js → post-tab-panel-cafd9e04.js} +3 -3
  172. package/dist/esm/post-tab-panel.entry.js +3 -3
  173. package/dist/esm/{post-tabs-fbb42496.js → post-tabs-beef8eae.js} +8 -6
  174. package/dist/esm/post-tabs.entry.js +3 -3
  175. package/dist/esm/{post-tag-d67b6a19.js → post-tag-a77e7af6.js} +3 -3
  176. package/dist/esm/post-tag.entry.js +3 -3
  177. package/dist/esm/{post-megadropdown-trigger-210b4ab3.js → post-togglebutton-395bf3f0.js} +1785 -1235
  178. package/dist/esm/{post-tooltip-7101ed24.js → post-tooltip-b298039a.js} +4 -4
  179. package/dist/esm/post-tooltip.entry.js +5 -4
  180. package/dist/esm/slide-3422b8a3.js +25 -0
  181. package/dist/post-components/index.esm.js +1 -1
  182. package/dist/post-components/p-0711f76d.entry.js +1 -0
  183. package/dist/post-components/p-095a06f6.entry.js +1 -0
  184. package/dist/post-components/p-0b5a5f32.js +1 -0
  185. package/dist/post-components/{p-f0f8427e.js → p-135fa60f.js} +1 -1
  186. package/dist/post-components/p-18e38d8a.js +1 -0
  187. package/dist/post-components/p-2e1ec074.entry.js +1 -0
  188. package/dist/post-components/p-4202b433.entry.js +1 -0
  189. package/dist/post-components/p-45773f59.js +1 -0
  190. package/dist/post-components/{p-282115c4.js → p-4953de7e.js} +1 -1
  191. package/dist/post-components/p-4f67c5f5.entry.js +1 -0
  192. package/dist/post-components/{p-6cea23cd.js → p-4f9746f6.js} +2 -2
  193. package/dist/post-components/p-5075c672.entry.js +1 -0
  194. package/dist/post-components/p-515e0f96.js +1 -0
  195. package/dist/post-components/p-5467b223.js +1 -0
  196. package/dist/post-components/p-67036798.entry.js +1 -0
  197. package/dist/post-components/{p-d0b8820a.js → p-6d953fb2.js} +1 -1
  198. package/dist/post-components/p-6edb0ac5.js +1 -0
  199. package/dist/post-components/{p-939f2ba7.js → p-6f8f39ca.js} +1 -1
  200. package/dist/post-components/p-7503a623.js +1 -0
  201. package/dist/post-components/p-761b24c7.entry.js +1 -0
  202. package/dist/post-components/{p-00fa0152.js → p-77c4c1d2.js} +1 -1
  203. package/dist/post-components/p-7cf0c2ad.js +1 -0
  204. package/dist/post-components/p-856c14d6.entry.js +1 -0
  205. package/dist/post-components/p-866bf50a.entry.js +1 -0
  206. package/dist/post-components/p-8d621781.js +1 -0
  207. package/dist/post-components/p-8fe2d72c.entry.js +1 -0
  208. package/dist/post-components/p-9ad5088f.entry.js +1 -0
  209. package/dist/post-components/{p-485dafcf.js → p-a1d2b90e.js} +1 -1
  210. package/dist/post-components/p-a521419d.entry.js +1 -0
  211. package/dist/post-components/p-aa538648.js +1 -0
  212. package/dist/post-components/p-afdbee2f.js +1 -0
  213. package/dist/post-components/p-b02817f2.entry.js +1 -0
  214. package/dist/post-components/p-b157dcba.entry.js +1 -0
  215. package/dist/post-components/p-b22656b1.js +1 -0
  216. package/dist/post-components/{p-61e79941.js → p-bdbd11cb.js} +1 -1
  217. package/dist/post-components/{p-3eab790d.js → p-c0ae9886.js} +1 -1
  218. package/dist/post-components/p-c537e196.entry.js +1 -0
  219. package/dist/post-components/p-d4f93f2b.js +1 -0
  220. package/dist/post-components/p-dca4246a.entry.js +1 -0
  221. package/dist/post-components/{p-f627744e.js → p-f319b026.js} +1 -1
  222. package/dist/post-components/{p-ccb6dfa1.js → p-f4b7b379.js} +1 -1
  223. package/dist/post-components/p-fac66087.entry.js +1 -0
  224. package/dist/post-components/post-components.esm.js +1 -1
  225. package/dist/types/components/post-accordion-item/post-accordion-item.d.ts +2 -0
  226. package/dist/types/components/post-back-to-top/post-back-to-top.d.ts +3 -3
  227. package/dist/types/components/post-breadcrumb/post-breadcrumb.d.ts +30 -0
  228. package/dist/types/components/post-breadcrumb-item/post-breadcrumb-item.d.ts +1 -0
  229. package/dist/types/components/post-footer/post-footer.d.ts +23 -0
  230. package/dist/types/components/post-header/post-header.d.ts +13 -5
  231. package/dist/types/components/post-language-option/post-language-option.d.ts +5 -0
  232. package/dist/types/components/post-language-switch/post-language-switch.d.ts +31 -0
  233. package/dist/types/components/post-language-switch/switch-variants.d.ts +2 -0
  234. package/dist/types/components/post-mainnavigation/post-mainnavigation.d.ts +10 -1
  235. package/dist/types/components/post-megadropdown/post-megadropdown.d.ts +24 -12
  236. package/dist/types/components/post-megadropdown-trigger/post-megadropdown-trigger.d.ts +20 -5
  237. package/dist/types/components/post-menu/post-menu.d.ts +1 -0
  238. package/dist/types/components/post-togglebutton/post-togglebutton.d.ts +4 -2
  239. package/dist/types/components.d.ts +129 -29
  240. package/dist/types/index.d.ts +12 -9
  241. package/dist/types/utils/breakpoints.d.ts +11 -0
  242. package/loaders/debounce.js +10 -0
  243. package/loaders/index.d.ts +6 -0
  244. package/loaders/index.js +3 -0
  245. package/loaders/index2.js +1 -1
  246. package/loaders/package.js +1 -1
  247. package/loaders/post-accordion-item.js +1 -99
  248. package/loaders/post-accordion-item2.js +102 -0
  249. package/loaders/post-back-to-top.js +4 -27
  250. package/loaders/post-banner.js +1 -1
  251. package/loaders/post-breadcrumb-item.js +1 -70
  252. package/loaders/post-breadcrumb-item2.js +82 -0
  253. package/loaders/post-breadcrumb.d.ts +11 -0
  254. package/loaders/post-breadcrumb.js +171 -0
  255. package/loaders/post-card-control.js +2 -2
  256. package/loaders/post-closebutton.js +1 -1
  257. package/loaders/post-collapsible-trigger2.js +1 -9
  258. package/loaders/post-collapsible2.js +1 -1
  259. package/loaders/post-footer.d.ts +11 -0
  260. package/loaders/post-footer.js +127 -0
  261. package/loaders/post-header.js +55 -14
  262. package/loaders/post-icon2.js +2 -2
  263. package/loaders/post-language-option.js +4 -2
  264. package/loaders/post-language-switch.d.ts +11 -0
  265. package/loaders/post-language-switch.js +149 -0
  266. package/loaders/post-list-item.js +1 -1
  267. package/loaders/post-list.js +4 -4
  268. package/loaders/post-logo.js +2 -2
  269. package/loaders/post-mainnavigation.js +17 -17
  270. package/loaders/post-megadropdown-trigger.js +63 -11
  271. package/loaders/post-megadropdown.js +48 -22
  272. package/loaders/post-menu-item.js +1 -31
  273. package/loaders/post-menu-item2.js +33 -0
  274. package/loaders/post-menu-trigger.js +1 -90
  275. package/{dist/esm/post-menu-trigger-80c2bdf4.js → loaders/post-menu-trigger2.js} +41 -12
  276. package/loaders/post-menu.js +1 -199
  277. package/{dist/esm/post-menu-e853e28b.js → loaders/post-menu2.js} +42 -13
  278. package/loaders/post-popover.js +1 -1
  279. package/loaders/post-popovercontainer2.js +2 -2
  280. package/loaders/post-rating.js +1 -1
  281. package/loaders/post-tab-header.js +1 -1
  282. package/loaders/post-tab-panel.js +1 -1
  283. package/loaders/post-tabs.js +6 -4
  284. package/loaders/post-tag.js +1 -1
  285. package/loaders/post-togglebutton.js +23 -5
  286. package/loaders/post-tooltip.js +1 -1
  287. package/loaders/slide.js +25 -0
  288. package/package.json +5 -4
  289. package/dist/cjs/post-back-to-top-0ce98569.js +0 -98
  290. package/dist/cjs/post-breadcrumb-item-2075462a.js +0 -49
  291. package/dist/cjs/post-breadcrumb-item.cjs.entry.js +0 -15
  292. package/dist/cjs/post-closebutton_10.cjs.entry.js +0 -25
  293. package/dist/cjs/post-language-option-cf32d0ed.js +0 -68
  294. package/dist/cjs/post-language-option.cjs.entry.js +0 -15
  295. package/dist/cjs/post-menu-a3b7b63b.js +0 -176
  296. package/dist/cjs/post-menu-item-28ab1a72.js +0 -20
  297. package/dist/cjs/post-menu-item.cjs.entry.js +0 -11
  298. package/dist/cjs/post-menu-trigger-821839f5.js +0 -75
  299. package/dist/cjs/post-menu-trigger.cjs.entry.js +0 -13
  300. package/dist/cjs/post-menu.cjs.entry.js +0 -11
  301. package/dist/cjs/post-togglebutton-59c6357b.js +0 -28
  302. package/dist/cjs/post-togglebutton.cjs.entry.js +0 -11
  303. package/dist/esm/package-9cafe148.js +0 -3
  304. package/dist/esm/post-back-to-top-bcf46150.js +0 -96
  305. package/dist/esm/post-breadcrumb-item-e3b41f74.js +0 -47
  306. package/dist/esm/post-breadcrumb-item.entry.js +0 -7
  307. package/dist/esm/post-closebutton_10.entry.js +0 -8
  308. package/dist/esm/post-language-option-1436370d.js +0 -66
  309. package/dist/esm/post-language-option.entry.js +0 -7
  310. package/dist/esm/post-menu-item-86d4c7ab.js +0 -18
  311. package/dist/esm/post-menu-item.entry.js +0 -3
  312. package/dist/esm/post-menu-trigger.entry.js +0 -5
  313. package/dist/esm/post-menu.entry.js +0 -3
  314. package/dist/esm/post-togglebutton-c3fb912d.js +0 -26
  315. package/dist/esm/post-togglebutton.entry.js +0 -3
  316. package/dist/post-components/p-0338f9da.js +0 -1
  317. package/dist/post-components/p-1667387e.entry.js +0 -1
  318. package/dist/post-components/p-19551c18.entry.js +0 -1
  319. package/dist/post-components/p-1b627f80.js +0 -1
  320. package/dist/post-components/p-24673919.js +0 -1
  321. package/dist/post-components/p-266b734f.entry.js +0 -1
  322. package/dist/post-components/p-2d0ffc1e.entry.js +0 -1
  323. package/dist/post-components/p-45018d7e.entry.js +0 -1
  324. package/dist/post-components/p-4a647a78.js +0 -1
  325. package/dist/post-components/p-4abfa65b.js +0 -1
  326. package/dist/post-components/p-517f2b1f.entry.js +0 -1
  327. package/dist/post-components/p-55224ee7.entry.js +0 -1
  328. package/dist/post-components/p-558a9849.js +0 -1
  329. package/dist/post-components/p-59b31557.js +0 -1
  330. package/dist/post-components/p-5d1db85c.entry.js +0 -1
  331. package/dist/post-components/p-679978de.entry.js +0 -1
  332. package/dist/post-components/p-6a842b96.entry.js +0 -1
  333. package/dist/post-components/p-71f03424.js +0 -1
  334. package/dist/post-components/p-8c2568c1.entry.js +0 -1
  335. package/dist/post-components/p-8fd3a3cb.entry.js +0 -1
  336. package/dist/post-components/p-a4c39296.entry.js +0 -1
  337. package/dist/post-components/p-af5d3b89.entry.js +0 -1
  338. package/dist/post-components/p-b4423249.entry.js +0 -1
  339. package/dist/post-components/p-c31a7d65.entry.js +0 -1
  340. package/dist/post-components/p-c544bb82.js +0 -1
  341. package/dist/post-components/p-d36adfb5.js +0 -1
  342. package/dist/post-components/p-da6a8268.entry.js +0 -1
  343. package/dist/post-components/p-ece14d88.js +0 -1
  344. package/dist/post-components/p-f2e1b4d8.js +0 -1
  345. package/dist/post-components/p-f7b6b96a.entry.js +0 -1
  346. package/dist/post-components/p-f812e93d.entry.js +0 -1
  347. package/dist/post-components/p-f8d41c32.js +0 -1
  348. package/dist/post-components/p-fe516cdf.entry.js +0 -1
  349. package/dist/post-components/p-fe7467fb.entry.js +0 -1
@@ -1,39 +1,64 @@
1
- import { Host, h } from "@stencil/core";
1
+ import { h, Host } from "@stencil/core";
2
2
  export class PostMegadropdown {
3
+ constructor() {
4
+ this.isVisible = false;
5
+ this.animationClass = null;
6
+ }
7
+ componentDidLoad() {
8
+ this.popoverRef.addEventListener('postToggle', (event) => {
9
+ this.isVisible = event.detail;
10
+ this.postToggleMegadropdown.emit(this.isVisible);
11
+ });
12
+ this.popoverRef.addEventListener('animationend', () => {
13
+ if (this.animationClass === 'slide-out') {
14
+ this.hide();
15
+ }
16
+ });
17
+ }
3
18
  /**
4
- * Show megadropdown
5
- * @param element HTMLElement
6
- * @returns boolean
19
+ * Toggles the dropdown visibility based on its current state.
7
20
  */
8
- async show(element) {
9
- return this.popoverRef.show(element);
21
+ async toggle(target) {
22
+ this.isVisible ? this.hide() : await this.show(target);
10
23
  }
11
24
  /**
12
- * Hide megadropdown
13
- * @returns boolean
25
+ * Displays the popover dropdown
26
+ *
27
+ * @param target - The HTML element relative to which the popover dropdown should be displayed.
14
28
  */
15
- async hide() {
16
- return this.popoverRef.hide();
29
+ async show(target) {
30
+ if (this.popoverRef) {
31
+ await this.popoverRef.show(target);
32
+ this.animationClass = 'slide-in';
33
+ }
34
+ else {
35
+ console.error('show: popoverRef is null or undefined');
36
+ }
17
37
  }
18
38
  /**
19
- * Toggle megadropdown
20
- * @param element HTMLElement
21
- * @param force boolean
22
- * @returns boolean
39
+ * Hides the popover dropdown
23
40
  */
24
- async toggle(element, force) {
25
- return this.popoverRef.toggle(element, force !== null && force !== void 0 ? force : undefined);
41
+ hide() {
42
+ if (this.popoverRef) {
43
+ this.popoverRef.hide();
44
+ }
45
+ else {
46
+ console.error('hide: popoverRef is null or undefined');
47
+ }
26
48
  }
27
49
  handleBackButtonClick() {
28
- this.hide();
50
+ this.animationClass = 'slide-out';
51
+ }
52
+ handleCloseButtonClick() {
53
+ this.popoverRef.hide();
29
54
  }
30
55
  render() {
31
- return (h(Host, { key: '9b8e17f4120259f55ed3dbce4780559cb8876540', slot: "post-mainnavigation" }, h("post-popovercontainer", { key: 'ac48d1fffbcdff5aa20d9f2f6fed9beb4dd3be23', placement: "bottom", "edge-gap": "0", ref: el => (this.popoverRef = el) }, h("div", { key: 'af02d9fd35973b6d889b639f1d856dd3d9921ae1', class: "megadropdown" }, h("div", { key: '445aa9b1a04e63c0d2b17466c610a30662f3db0e', onClick: () => this.handleBackButtonClick(), class: "back-button" }, h("slot", { key: '8d8f4cad3d5860fdfc1c615e7122ab5dd2ca5ed3', name: "back-button" })), h("slot", { key: 'c9ba8c0941f86fd29a44153e186cd679bcd678f5' })))));
56
+ return (h(Host, { key: 'cfd4e6c7bb87c50e471d304a4b4f086266e1c2fe' }, h("post-popovercontainer", { key: '31dc3a5e98a5c60a4db8d47375491a6f3957af0b', class: this.animationClass, placement: "bottom", "edge-gap": "0", ref: el => (this.popoverRef = el) }, h("div", { key: '7001d0e108544a0244af088be0bde49f90a3dea3', class: "megadropdown" }, h("div", { key: '513b0710163e8f58677b6b50d2ba2d241cf9ff35', onClick: () => this.handleBackButtonClick(), class: "back-button" }, h("slot", { key: '5457c0b9bfff045f39f470e600b5aa31036c0807', name: "back-button" })), h("div", { key: 'c3314a4ae4f386224a2db7fe32203f72f6a1b284', onClick: () => this.handleCloseButtonClick(), class: "close-button" }, h("slot", { key: '8feeec24fe5f2522ba1a54ab0b7c682d3a152086', name: "close-button" })), h("slot", { key: '6d9426756a809ed26045c9cd56cacf0f36aa9400', name: "megadropdown-title" }), h("div", { key: 'fd3b0ac7998eec76700ccc6668d8b2e3fcc4c63a', class: "megadropdown-content" }, h("slot", { key: '23638936fdffa224de9631bfd599c0872202a30d' }))))));
32
57
  }
33
58
  static get is() { return "post-megadropdown"; }
34
59
  static get originalStyleUrls() {
35
60
  return {
36
- "$": ["./post-megadropdown.scss"]
61
+ "$": ["post-megadropdown.scss"]
37
62
  };
38
63
  }
39
64
  static get styleUrls() {
@@ -41,15 +66,39 @@ export class PostMegadropdown {
41
66
  "$": ["post-megadropdown.css"]
42
67
  };
43
68
  }
69
+ static get states() {
70
+ return {
71
+ "isVisible": {},
72
+ "animationClass": {}
73
+ };
74
+ }
75
+ static get events() {
76
+ return [{
77
+ "method": "postToggleMegadropdown",
78
+ "name": "postToggleMegadropdown",
79
+ "bubbles": true,
80
+ "cancelable": true,
81
+ "composed": true,
82
+ "docs": {
83
+ "tags": [],
84
+ "text": "Emits when the dropdown is shown or hidden.\nThe event payload is a boolean: `true` when the dropdown was opened, `false` when it was closed."
85
+ },
86
+ "complexType": {
87
+ "original": "boolean",
88
+ "resolved": "boolean",
89
+ "references": {}
90
+ }
91
+ }];
92
+ }
44
93
  static get methods() {
45
94
  return {
46
- "show": {
95
+ "toggle": {
47
96
  "complexType": {
48
- "signature": "(element: HTMLElement) => Promise<void>",
97
+ "signature": "(target: HTMLElement) => Promise<void>",
49
98
  "parameters": [{
50
- "name": "element",
99
+ "name": "target",
51
100
  "type": "HTMLElement",
52
- "docs": "HTMLElement"
101
+ "docs": ""
53
102
  }],
54
103
  "references": {
55
104
  "Promise": {
@@ -64,47 +113,17 @@ export class PostMegadropdown {
64
113
  "return": "Promise<void>"
65
114
  },
66
115
  "docs": {
67
- "text": "Show megadropdown",
68
- "tags": [{
69
- "name": "param",
70
- "text": "element HTMLElement"
71
- }, {
72
- "name": "returns",
73
- "text": "boolean"
74
- }]
116
+ "text": "Toggles the dropdown visibility based on its current state.",
117
+ "tags": []
75
118
  }
76
119
  },
77
- "hide": {
78
- "complexType": {
79
- "signature": "() => Promise<void>",
80
- "parameters": [],
81
- "references": {
82
- "Promise": {
83
- "location": "global",
84
- "id": "global::Promise"
85
- }
86
- },
87
- "return": "Promise<void>"
88
- },
89
- "docs": {
90
- "text": "Hide megadropdown",
91
- "tags": [{
92
- "name": "returns",
93
- "text": "boolean"
94
- }]
95
- }
96
- },
97
- "toggle": {
120
+ "show": {
98
121
  "complexType": {
99
- "signature": "(element: HTMLElement, force?: boolean) => Promise<boolean>",
122
+ "signature": "(target: HTMLElement) => Promise<void>",
100
123
  "parameters": [{
101
- "name": "element",
124
+ "name": "target",
102
125
  "type": "HTMLElement",
103
- "docs": "HTMLElement"
104
- }, {
105
- "name": "force",
106
- "type": "boolean",
107
- "docs": "boolean"
126
+ "docs": "- The HTML element relative to which the popover dropdown should be displayed."
108
127
  }],
109
128
  "references": {
110
129
  "Promise": {
@@ -116,22 +135,17 @@ export class PostMegadropdown {
116
135
  "id": "global::HTMLElement"
117
136
  }
118
137
  },
119
- "return": "Promise<boolean>"
138
+ "return": "Promise<void>"
120
139
  },
121
140
  "docs": {
122
- "text": "Toggle megadropdown",
141
+ "text": "Displays the popover dropdown",
123
142
  "tags": [{
124
143
  "name": "param",
125
- "text": "element HTMLElement"
126
- }, {
127
- "name": "param",
128
- "text": "force boolean"
129
- }, {
130
- "name": "returns",
131
- "text": "boolean"
144
+ "text": "target - The HTML element relative to which the popover dropdown should be displayed."
132
145
  }]
133
146
  }
134
147
  }
135
148
  };
136
149
  }
150
+ static get elementRef() { return "host"; }
137
151
  }
@@ -1 +1 @@
1
- :host{display:inline-block}
1
+ post-megadropdown-trigger{width:100%}
@@ -1,20 +1,66 @@
1
- import { Host, h } from "@stencil/core";
1
+ import { h, Host } from "@stencil/core";
2
+ import { version } from "../../../../package";
3
+ import { checkType } from "../../utils/index";
2
4
  export class PostMegadropdownTrigger {
3
5
  constructor() {
4
- this.toggled = false;
6
+ /**
7
+ * Reference to the slotted button within the trigger, if present.
8
+ * Used to manage click and key events for mega dropdown control.
9
+ */
10
+ this.slottedButton = null;
11
+ this.for = undefined;
12
+ this.ariaExpanded = false;
5
13
  }
6
- handleClick() {
7
- this.toggled = !this.toggled;
8
- this.postToggle.emit();
14
+ /**
15
+ * Watch for changes to the `for` property to validate its type and ensure it is a string.
16
+ * @param forValue - The new value of the `for` property.
17
+ */
18
+ validateControlFor(forValue = this.for) {
19
+ checkType(forValue, 'string', 'The "for" property is required and should be a string.');
20
+ }
21
+ get megadropdown() {
22
+ const ref = document.getElementById(this.for);
23
+ return ref && ref.localName === 'post-megadropdown'
24
+ ? ref
25
+ : null;
26
+ }
27
+ handleToggle() {
28
+ if (this.megadropdown) {
29
+ this.megadropdown.toggle(this.host);
30
+ }
31
+ else {
32
+ console.warn(`No post-megadropdown found with ID: ${this.for}`);
33
+ }
34
+ }
35
+ componentDidLoad() {
36
+ this.validateControlFor();
37
+ // Check if the mega dropdown attached to the trigger is expanded or not
38
+ document.addEventListener('postToggleMegadropdown', (event) => {
39
+ if (event.target.id === this.for) {
40
+ this.ariaExpanded = event.detail;
41
+ if (this.slottedButton) {
42
+ this.slottedButton.setAttribute('aria-expanded', this.ariaExpanded.toString());
43
+ }
44
+ }
45
+ });
46
+ this.slottedButton = this.host.querySelector('button');
47
+ if (this.slottedButton) {
48
+ this.slottedButton.setAttribute('aria-haspopup', 'menu');
49
+ this.slottedButton.addEventListener('click', () => {
50
+ this.handleToggle();
51
+ });
52
+ }
53
+ else {
54
+ console.warn('No button found within post-megadropdown-trigger');
55
+ }
9
56
  }
10
57
  render() {
11
- return (h(Host, { key: 'd139b405fe28c7334c01eec4846a6f8b5bf1e261', slot: "post-megadropdown-trigger" }, h("button", { key: 'd3aee53488359a79764974d440d7a058d5d96873', "aria-expanded": this.toggled, onClick: () => this.handleClick() }, h("slot", { key: '7012055defbb7c8058481db5c4129919847010c6' }))));
58
+ return (h(Host, { key: '4ab919adeaa51fc12d45131fa540c76fb3ba73d9', "data-version": version, "tab-index": "-1" }, h("button", { key: 'e7dac321691cdb19a4874fd0b2097227d077af35' }, h("slot", { key: 'beffc38d2d35a67e74364c3b40b6d39896aa4de3' }))));
12
59
  }
13
60
  static get is() { return "post-megadropdown-trigger"; }
14
- static get encapsulation() { return "shadow"; }
15
61
  static get originalStyleUrls() {
16
62
  return {
17
- "$": ["./post-megadropdown-trigger.scss"]
63
+ "$": ["post-megadropdown-trigger.scss"]
18
64
  };
19
65
  }
20
66
  static get styleUrls() {
@@ -22,27 +68,37 @@ export class PostMegadropdownTrigger {
22
68
  "$": ["post-megadropdown-trigger.css"]
23
69
  };
24
70
  }
71
+ static get properties() {
72
+ return {
73
+ "for": {
74
+ "type": "string",
75
+ "mutable": false,
76
+ "complexType": {
77
+ "original": "string",
78
+ "resolved": "string",
79
+ "references": {}
80
+ },
81
+ "required": true,
82
+ "optional": false,
83
+ "docs": {
84
+ "tags": [],
85
+ "text": "ID of the mega dropdown element that this trigger is linked to. Used to open and close the specified mega dropdown."
86
+ },
87
+ "attribute": "for",
88
+ "reflect": false
89
+ }
90
+ };
91
+ }
25
92
  static get states() {
26
93
  return {
27
- "toggled": {}
94
+ "ariaExpanded": {}
28
95
  };
29
96
  }
30
- static get events() {
97
+ static get elementRef() { return "host"; }
98
+ static get watchers() {
31
99
  return [{
32
- "method": "postToggle",
33
- "name": "postToggle",
34
- "bubbles": true,
35
- "cancelable": true,
36
- "composed": true,
37
- "docs": {
38
- "tags": [],
39
- "text": "Emits after each toggle"
40
- },
41
- "complexType": {
42
- "original": "any",
43
- "resolved": "any",
44
- "references": {}
45
- }
100
+ "propName": "for",
101
+ "methodName": "validateControlFor"
46
102
  }];
47
103
  }
48
104
  }
@@ -1,6 +1,7 @@
1
1
  import { h, Host } from "@stencil/core";
2
2
  import { version } from "../../../../package";
3
3
  import { isFocusable } from "../../utils/is-focusable";
4
+ import { getRoot } from "../../utils/index";
4
5
  export class PostMenu {
5
6
  constructor() {
6
7
  this.lastFocusedElement = null;
@@ -12,7 +13,7 @@ export class PostMenu {
12
13
  TAB: 'Tab',
13
14
  HOME: 'Home',
14
15
  END: 'End',
15
- ESCAPE: 'Escape'
16
+ ESCAPE: 'Escape',
16
17
  };
17
18
  this.handleKeyDown = (e) => {
18
19
  e.stopPropagation();
@@ -34,6 +35,7 @@ export class PostMenu {
34
35
  this.isVisible = false;
35
36
  }
36
37
  connectedCallback() {
38
+ this.root = getRoot(this.host);
37
39
  this.host.addEventListener('keydown', this.handleKeyDown);
38
40
  this.host.addEventListener('click', this.handleClick);
39
41
  }
@@ -61,7 +63,7 @@ export class PostMenu {
61
63
  async show(target) {
62
64
  if (this.popoverRef) {
63
65
  await this.popoverRef.show(target);
64
- this.lastFocusedElement = document.activeElement;
66
+ this.lastFocusedElement = this.root.activeElement; // Use root's activeElement
65
67
  const menuItems = this.getSlottedItems();
66
68
  if (menuItems.length > 0) {
67
69
  menuItems[0].focus();
@@ -90,7 +92,7 @@ export class PostMenu {
90
92
  if (!menuItems.length) {
91
93
  return;
92
94
  }
93
- const currentFocusedElement = document.activeElement;
95
+ const currentFocusedElement = this.root.activeElement; // Use root's activeElement
94
96
  let currentIndex = menuItems.findIndex(el => el === currentFocusedElement);
95
97
  switch (e.key) {
96
98
  case this.KEYCODES.UP:
@@ -135,7 +137,7 @@ export class PostMenu {
135
137
  return menuItems;
136
138
  }
137
139
  render() {
138
- return (h(Host, { key: 'c3fa319c92cc36b562590df18b6585b1bc18f133', "data-version": version }, h("post-popovercontainer", { key: '7d297b7598fecb01f46c3f1b999b6017ee878d06', placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: '3ae32950348ae8910094cddd34afef060ca517f1', class: "popover-container" }, h("slot", { key: '7faa98f2f4c50ef1ac424387a6c3890dcf09adce' })))));
140
+ return (h(Host, { key: '48e04f36dc7a3d8ed81b9570d1a4c931ace3cadd', "data-version": version }, h("post-popovercontainer", { key: '58532143bd7a8be7ea77cbd0a929fa74ee0ee890', placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: '967bf8aa936611ac6d533d9a8a1e176ee84b2a73', class: "popover-container", part: "popover-container" }, h("slot", { key: '4eb6b7fe34e8ea1df0d7cd8de31b57452442c3bb' })))));
139
141
  }
140
142
  static get is() { return "post-menu"; }
141
143
  static get encapsulation() { return "shadow"; }
@@ -2,7 +2,7 @@ import { h, Host } from "@stencil/core";
2
2
  import { version } from "../../../../package";
3
3
  export class PostMenuItem {
4
4
  render() {
5
- return (h(Host, { key: '8e20fdee0faff826319440bed6ec7be0c56e6d06', role: "menuitem", "data-version": version }, h("slot", { key: '69e2be9dec334ade8e84ccb268c7d4955dd2fefb' })));
5
+ return (h(Host, { key: '0f53b8f818c87c59b0ec56e522852af0966e37ad', role: "menuitem", "data-version": version }, h("slot", { key: '4b821e1282df9bcfd297d74af56dfd5605baa0ee' })));
6
6
  }
7
7
  static get is() { return "post-menu-item"; }
8
8
  static get encapsulation() { return "shadow"; }
@@ -43,6 +43,16 @@ export class PostMenuTrigger {
43
43
  this.root = getRoot(this.host);
44
44
  this.validateControlFor();
45
45
  this.slottedButton = this.host.querySelector('button');
46
+ // Check if the slottedButton is within a web component
47
+ if (!this.slottedButton) {
48
+ const webComponent = this.host.querySelector('.menu-trigger-webc');
49
+ if (webComponent.shadowRoot) {
50
+ const slottedButton = webComponent.shadowRoot.querySelector('button');
51
+ if (slottedButton) {
52
+ this.slottedButton = slottedButton;
53
+ }
54
+ }
55
+ }
46
56
  if (this.slottedButton) {
47
57
  this.slottedButton.setAttribute('aria-haspopup', 'menu');
48
58
  this.slottedButton.addEventListener('click', () => {
@@ -55,7 +65,7 @@ export class PostMenuTrigger {
55
65
  }
56
66
  }
57
67
  render() {
58
- return (h(Host, { key: 'd6b5619d0b4035887eaffdcc3c153eb0a5fe4ceb', "data-version": version, "tab-index": "-1" }, h("slot", { key: '5d87c80dae6188470b10207993822d92adc714b1' })));
68
+ return (h(Host, { key: '64e9e7e6448160c7b52fc732b5107e94e9776678', "data-version": version, "tab-index": "-1" }, h("slot", { key: '711d641147cec0c26c7a3917f9302f1bbbee0d73' })));
59
69
  }
60
70
  static get is() { return "post-menu-trigger"; }
61
71
  static get originalStyleUrls() {
@@ -88,7 +88,7 @@ export class PostPopover {
88
88
  this.triggers.forEach(trigger => trigger.setAttribute('aria-expanded', 'false'));
89
89
  }
90
90
  render() {
91
- return (h(Host, { key: 'e73d0edf5c6992db8c8c6e162a9c50e95a335d79', "data-version": version }, h("post-popovercontainer", { key: '206cbec19db4af9772899c1ec4cc870c362f590e', arrow: this.arrow, placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: '8d744d6784d892313b137ee03dd9967ea4b77184', class: "popover-container" }, h("div", { key: 'aa78aee830e853945f0049d0708710f8fad90d36', class: "popover-content" }, h("slot", { key: '50a5aeae0c0db36e5c0aa2495f3d95474bed13fc' })), h("button", { key: '4389f79f9e1b2a0977a0ecb177b385f049cc8484', class: "btn-close", onClick: () => this.hide() }, h("span", { key: 'e302e17cef666fc280a547ebc3caeedacdc544b0', class: "visually-hidden" }, this.closeButtonCaption))))));
91
+ return (h(Host, { key: 'fefbc18d8ca6246199a7843edb3e05b2bc134b52', "data-version": version }, h("post-popovercontainer", { key: 'bf0d5fad73c87674c0f7d5b0a3a84836e8f5126c', arrow: this.arrow, placement: this.placement, ref: e => (this.popoverRef = e) }, h("div", { key: '08aa8cd87c49f87ee72bf98dd6d07dea52bb49c8', class: "popover-container" }, h("div", { key: '7fae463b6633d105ab8e112c3b564256ea574721', class: "popover-content" }, h("slot", { key: '47a529a55502ccf290c1bf7fcebc68502fbac569' })), h("button", { key: 'ede2f23b3435fec596b0e73c285eda6c1a4fa449', class: "btn-close", onClick: () => this.hide() }, h("span", { key: '4df83539eb8f5cd80f0f7548db217e17a8474d8d', class: "visually-hidden" }, this.closeButtonCaption))))));
92
92
  }
93
93
  static get is() { return "post-popover"; }
94
94
  static get encapsulation() { return "shadow"; }
@@ -137,9 +137,9 @@ export class PostPopovercontainer {
137
137
  }
138
138
  }
139
139
  render() {
140
- return (h(Host, { key: 'b8be8594adfd503c47f85872508d5bbd3473cc5a', "data-version": version }, this.arrow && (h("span", { key: 'f046737966eb3b801af1e888555178543ea015eb', class: "arrow", ref: el => {
140
+ return (h(Host, { key: '23e391236e263f7ae7c66c994b2847bcba269b37', "data-version": version }, this.arrow && (h("span", { key: '6c6053b2fd315a5940a2c3493182249782b2492c', class: "arrow", ref: el => {
141
141
  this.arrowRef = el;
142
- } })), h("slot", { key: '5d478472a83442d47e4f16ff8121782c8e6a524b' })));
142
+ } })), h("slot", { key: 'ff998f110f42a22e886eba398285c41d94718bab' })));
143
143
  }
144
144
  static get is() { return "post-popovercontainer"; }
145
145
  static get originalStyleUrls() {
@@ -64,7 +64,7 @@ export class PostRating {
64
64
  }
65
65
  }
66
66
  render() {
67
- return (h(Host, { key: '98459f7f5e2406577857571fb6ececd8198a4cdb', "data-version": version }, h("div", { key: '2880d40e1623e49c8cae64b70e0057713f5f5cfd', role: "slider", class: "rating", tabindex: "0", "aria-label": this.label, "aria-valuemin": "0", "aria-valuemax": this.stars, "aria-valuenow": this.currentRating, "aria-valuetext": `${this.currentRating} out of ${this.stars}`, "aria-readonly": this.readonly ? 'true' : 'false', onKeyDown: this.keydownHandler, onBlur: this.blurHandler }, Array.from({ length: this.stars }).map((v, i) => (h("div", { key: `star-${v}`, "aria-hidden": "true", class: {
67
+ return (h(Host, { key: '4d1fbd0cc858dea3d8eb576e2968198e4569db26', "data-version": version }, h("div", { key: '7a64af9155486be01e2ccbabcb2bc34f4531a323', role: "slider", class: "rating", tabindex: "0", "aria-label": this.label, "aria-valuemin": "0", "aria-valuemax": this.stars, "aria-valuenow": this.currentRating, "aria-valuetext": `${this.currentRating} out of ${this.stars}`, "aria-readonly": this.readonly ? 'true' : 'false', onKeyDown: this.keydownHandler, onBlur: this.blurHandler }, Array.from({ length: this.stars }).map((v, i) => (h("div", { key: `star-${v}`, "aria-hidden": "true", class: {
68
68
  'star': true,
69
69
  'before-hover': i < this.hoveredIndex,
70
70
  'active': i < Math.round(this.currentRating),
@@ -16,7 +16,7 @@ export class PostTabHeader {
16
16
  this.tabId = `tab-${this.host.id || crypto.randomUUID()}`;
17
17
  }
18
18
  render() {
19
- return (h(Host, { key: 'af78e7b118f13ce64c76947af5dc3a6ed5ed09a0', id: this.tabId, role: "tab", "data-version": version, "aria-selected": "false", tabindex: "-1", class: "tab-title", slot: "tabs" }, h("slot", { key: '99a8257992b974f9c3503eb1f67652c50bbf0671' })));
19
+ return (h(Host, { key: '97ce31f2069ea710e4d1f15879f323a0966a072d', id: this.tabId, role: "tab", "data-version": version, "aria-selected": "false", tabindex: "-1", class: "tab-title", slot: "tabs" }, h("slot", { key: '78a7154fdbf6cb51069c84dc545ae6bb81f66671' })));
20
20
  }
21
21
  static get is() { return "post-tab-header"; }
22
22
  static get encapsulation() { return "shadow"; }
@@ -13,7 +13,7 @@ export class PostTabPanel {
13
13
  this.panelId = `panel-${this.host.id || crypto.randomUUID()}`;
14
14
  }
15
15
  render() {
16
- return (h(Host, { key: 'b4d8a6dac8662fc442ba4b75c7f89bb630b1a0ad', "data-version": version, id: this.panelId, role: "tabpanel" }, h("slot", { key: '3253ed0b5efe32b0c49fc97e46de31ee3dbbd813' })));
16
+ return (h(Host, { key: '99270e53616a4dce990388b8cd825295fcdcb7d2', "data-version": version, id: this.panelId, role: "tabpanel" }, h("slot", { key: '049a0e04937e286786a54eb6f6fd5fe909d85cea' })));
17
17
  }
18
18
  static get is() { return "post-tab-panel"; }
19
19
  static get encapsulation() { return "shadow"; }
@@ -14,12 +14,13 @@ export class PostTabs {
14
14
  this.activePanel = undefined;
15
15
  }
16
16
  get tabs() {
17
- return this.host.querySelectorAll('post-tab-header');
17
+ return Array.from(this.host.querySelectorAll('post-tab-header')).filter(tab => tab.closest('post-tabs') === this.host);
18
18
  }
19
19
  componentDidLoad() {
20
+ var _a;
20
21
  this.moveMisplacedTabs();
21
22
  this.enableTabs();
22
- const initiallyActivePanel = this.activePanel || this.tabs.item(0).panel;
23
+ const initiallyActivePanel = this.activePanel || ((_a = this.tabs[0]) === null || _a === void 0 ? void 0 : _a.panel);
23
24
  void this.show(initiallyActivePanel);
24
25
  this.isLoaded = true;
25
26
  }
@@ -64,6 +65,7 @@ export class PostTabs {
64
65
  });
65
66
  }
66
67
  enableTabs() {
68
+ var _a;
67
69
  if (!this.tabs)
68
70
  return;
69
71
  this.tabs.forEach(async (tab) => {
@@ -90,7 +92,7 @@ export class PostTabs {
90
92
  });
91
93
  // if the currently active tab was removed from the DOM then select the first one
92
94
  if (this.activeTab && !this.activeTab.isConnected) {
93
- void this.show(this.tabs.item(0).panel);
95
+ void this.show((_a = this.tabs[0]) === null || _a === void 0 ? void 0 : _a.panel);
94
96
  }
95
97
  }
96
98
  activateTab(tab) {
@@ -142,7 +144,7 @@ export class PostTabs {
142
144
  nextTab.focus();
143
145
  }
144
146
  render() {
145
- return (h(Host, { key: '8e6ef1f64dd41d18cbb87d23ae27ed198dba420f', "data-version": version }, h("div", { key: '3e08dbfa502935737040e54f71c5cdba55838ac5', class: "tabs-wrapper", part: "tabs" }, h("div", { key: '57c2c50ec3ca3ee38a69f3c46f0bd6cfb3649178', class: "tabs", role: "tablist" }, h("slot", { key: 'c7ce48bec67f02abf47fa2d152a786f2f7f912fe', name: "tabs", onSlotchange: () => this.enableTabs() }))), h("div", { key: 'daf2d7e9d51ad3831a68ed8cd6498d9042bc017f', class: "tab-content", part: "content" }, h("slot", { key: 'ee2c3619a2c262a416b34b65843f10e4baa62e38', onSlotchange: () => this.moveMisplacedTabs() }))));
147
+ return (h(Host, { key: 'ee9628ed2eb47e6e41001f22c7a455da4b0c30bc', "data-version": version }, h("div", { key: 'd4387bfa9efb56d02403ee51aa3a3bce53c044bd', class: "tabs-wrapper", part: "tabs" }, h("div", { key: '020526d64754fb7c61b397894291d19d22a754ed', class: "tabs", role: "tablist" }, h("slot", { key: '875f7ccaf2f980087fbc461c22ed223f00bcb4ba', name: "tabs", onSlotchange: () => this.enableTabs() }))), h("div", { key: 'c4ecb26258e2cf20394b89c9ae20fd575f13bae6', class: "tab-content", part: "content" }, h("slot", { key: 'd1e60679e580df4a903d021a2985c4299a356d28', onSlotchange: () => this.moveMisplacedTabs() }))));
146
148
  }
147
149
  static get is() { return "post-tabs"; }
148
150
  static get encapsulation() { return "shadow"; }
@@ -30,7 +30,7 @@ export class PostTag {
30
30
  this.setClasses();
31
31
  }
32
32
  render() {
33
- return (h(Host, { key: 'e2d95e10853f66d7b05768b80a0350e0bc05051d', "data-version": version }, h("div", { key: '72bac44cca9c4197e9042e6a4896f235d057a5c9', class: this.classes }, this.icon ? h("post-icon", { name: this.icon }) : null, h("div", { key: '1b54b8a89320306aa09fe1e50dffd453b44fc587', class: "tag-text" }, h("slot", { key: '52f4f5b2d62f8ae245c7b472cdbc9f5202b554c1' })))));
33
+ return (h(Host, { key: '32c08ea43811e47b2560e335b59486c356fa5a9b', "data-version": version }, h("div", { key: 'f04dc3e4c5b14edea0e1fd1cab581c286f3d74ff', class: this.classes }, this.icon ? h("post-icon", { name: this.icon }) : null, h("div", { key: '701e75bb1c31392d8f378339c5a31920cb5d8a7e', class: "tag-text" }, h("slot", { key: '6470a3ba2586bdc9ded20ff686f2c6ca58c47c69' })))));
34
34
  }
35
35
  static get is() { return "post-tag"; }
36
36
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- :host{cursor:pointer}
1
+ :host{cursor:pointer;outline-offset:var(--post-device-spacing-padding-2) !important;outline:var(--post-scheme-color-interactive-focus-stroke) none var(--post-device-border-width-focus) !important}:host(:focus-visible){outline-style:var(--post-core-border-style-solid) !important}@media(forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){:host(:focus-visible){outline-color:Highlight !important}}:host([aria-pressed=true]) ::slotted([data-showwhen=untoggled]){display:none}:host([aria-pressed=false]) ::slotted([data-showwhen=toggled]){display:none}
@@ -1,8 +1,8 @@
1
1
  import { Host, h } from "@stencil/core";
2
2
  import { version } from "../../../../package";
3
+ import { checkType } from "../../utils/index";
3
4
  /**
4
- * @slot toggled - Slot for content displayed when the button is in the "on" state.
5
- * @slot untoggled - Slot for content displayed when the button is in the "off" state.
5
+ * @slot default - Slot for the content of the button.
6
6
  */
7
7
  export class PostTogglebutton {
8
8
  constructor() {
@@ -10,14 +10,25 @@ export class PostTogglebutton {
10
10
  this.toggled = !this.toggled;
11
11
  };
12
12
  this.handleKeydown = (event) => {
13
- if (event.key === 'Enter') {
14
- this.toggled = !this.toggled;
13
+ // perform a click when enter or spaced are pressed to mimic the button behavior
14
+ if (event.key === 'Enter' || event.key === ' ') {
15
+ event.preventDefault(); // prevents the page from scrolling when space is pressed
16
+ this.host.click();
15
17
  }
16
18
  };
17
19
  this.toggled = false;
18
20
  }
21
+ validateToggled(value = this.toggled) {
22
+ checkType(value, 'boolean', 'The "toggled" property of the post-togglebutton must be a boolean.');
23
+ }
24
+ componentWillLoad() {
25
+ this.validateToggled();
26
+ // add event listener to not override listener that might be set on the host
27
+ this.host.addEventListener('click', () => this.handleClick());
28
+ this.host.addEventListener('keydown', (e) => this.handleKeydown(e));
29
+ }
19
30
  render() {
20
- return (h(Host, { key: '82fc4126d97650255d1d5fd041208b3d11cf0ded', slot: "post-togglebutton", tabindex: "0", "data-version": version, role: "button", "aria-pressed": this.toggled.toString(), onClick: this.handleClick, onKeyDown: this.handleKeydown }, h("span", { key: '0364e8b63cc2c7955282f62533683c3627aa6626', hidden: this.toggled }, h("slot", { key: '11ccb62855497ddf395276e7f7e88a8409fa36e4', name: "untoggled" })), h("span", { key: '463f4571ceecc51063a4d4495d22063b6b75d0df', hidden: !this.toggled }, h("slot", { key: '7d41e35a64deefd22087524bc57530603aae18fa', name: "toggled" }))));
31
+ return (h(Host, { key: 'f20b7e5f7cd14c1b0addf12600df27e7e5dab841', slot: "post-togglebutton", "data-version": version, role: "button", tabindex: "0", "aria-pressed": this.toggled.toString() }, h("slot", { key: '526540ce9a66fa08f0142e674811fe88e3abcfa6' })));
21
32
  }
22
33
  static get is() { return "post-togglebutton"; }
23
34
  static get encapsulation() { return "shadow"; }
@@ -48,9 +59,16 @@ export class PostTogglebutton {
48
59
  "text": "If `true`, the button is in the \"on\" state, otherwise it is in the \"off\" state."
49
60
  },
50
61
  "attribute": "toggled",
51
- "reflect": true,
62
+ "reflect": false,
52
63
  "defaultValue": "false"
53
64
  }
54
65
  };
55
66
  }
67
+ static get elementRef() { return "host"; }
68
+ static get watchers() {
69
+ return [{
70
+ "propName": "toggled",
71
+ "methodName": "validateToggled"
72
+ }];
73
+ }
56
74
  }
@@ -214,7 +214,7 @@ export class PostTooltip {
214
214
  }
215
215
  render() {
216
216
  const popoverClass = `${this.arrow ? ' has-arrow' : ''}`;
217
- return (h(Host, { key: 'accf9ab04bcac0d6ed46818dc00e9110f936e593', "data-version": version, role: "tooltip", onPointerOver: this.handleInterest, onPointerOut: this.handleInterestLost, onFocusIn: this.handleInterest, onFocusOut: this.handleInterestLost }, h("post-popovercontainer", { key: 'e31610624b6833e78de7cb6ec52fb3fc5ca02d49', class: popoverClass, arrow: this.arrow, placement: this.placement, ref: (el) => (this.popoverRef = el) }, h("slot", { key: '206925925cc51d3b0eb4f2c0b1e8ca65ab3fd8c4' }))));
217
+ return (h(Host, { key: '71db1ccf3cf929d76550b08e69c8594479eaa84f', "data-version": version, role: "tooltip", onPointerOver: this.handleInterest, onPointerOut: this.handleInterestLost, onFocusIn: this.handleInterest, onFocusOut: this.handleInterestLost }, h("post-popovercontainer", { key: 'b9a38cabbfc2cf2eb9b257bca32022b5d97aac7c', class: popoverClass, arrow: this.arrow, placement: this.placement, ref: (el) => (this.popoverRef = el) }, h("slot", { key: '316b55f5fc55d9607205496a87f02a0a5fa197cf' }))));
218
218
  }
219
219
  static get is() { return "post-tooltip"; }
220
220
  static get encapsulation() { return "shadow"; }