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

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 (516) hide show
  1. package/dist/.config/bindings.angular.js +4 -0
  2. package/dist/cjs/breakpoints-cdf1b747.js +59 -0
  3. package/dist/cjs/check-non-empty-bd99d236.js +15 -0
  4. package/dist/cjs/check-one-of-75d270b5.js +13 -0
  5. package/dist/cjs/check-type-cdbf6d29.js +21 -0
  6. package/dist/cjs/check-url-220a286c.js +19 -0
  7. package/dist/cjs/event-guard-efabc84f.js +47 -0
  8. package/dist/cjs/fade-72d5ef55.js +14 -0
  9. package/dist/cjs/get-root-8102fecd.js +17 -0
  10. package/dist/cjs/index-23e36ff7.js +37 -0
  11. package/dist/cjs/{index-010dc207.js → index-b60129c4.js} +17 -10
  12. package/dist/cjs/index.browser-4af21c17.js +16 -0
  13. package/dist/cjs/index.cjs.js +36 -31
  14. package/dist/cjs/loader.cjs.js +2 -2
  15. package/dist/cjs/long-press-event-6e62d113.js +266 -0
  16. package/dist/cjs/{package-8e810a59.js → package-8121f093.js} +1 -1
  17. package/dist/cjs/{post-accordion-b9df8522.js → post-accordion-beac7c9f.js} +11 -12
  18. package/dist/cjs/post-accordion-item-4846fbee.js +64 -0
  19. package/dist/cjs/post-accordion-item.cjs.entry.js +10 -7
  20. package/dist/cjs/post-accordion.cjs.entry.js +6 -4
  21. package/dist/cjs/{post-avatar-f7236084.js → post-avatar-a36991fb.js} +10 -13
  22. package/dist/cjs/post-avatar.cjs.entry.js +5 -4
  23. package/dist/cjs/post-back-to-top-32aa9017.js +96 -0
  24. package/dist/cjs/post-back-to-top.cjs.entry.js +7 -6
  25. package/dist/cjs/post-banner-be0e8909.js +92 -0
  26. package/dist/cjs/post-banner.cjs.entry.js +11 -9
  27. package/dist/cjs/post-breadcrumb-item_2.cjs.entry.js +8 -7
  28. package/dist/cjs/post-breadcrumbs-6ef82a41.js +120 -0
  29. package/dist/cjs/post-breadcrumbs.cjs.entry.js +13 -0
  30. package/dist/cjs/post-card-control-fe919333.js +269 -0
  31. package/dist/cjs/post-card-control.cjs.entry.js +6 -5
  32. package/dist/cjs/post-closebutton_15.cjs.entry.js +13 -10
  33. package/dist/cjs/{post-collapsible-trigger-143cf84a.js → post-collapsible-trigger-f42be607.js} +59 -60
  34. package/dist/cjs/post-collapsible_2.cjs.entry.js +11 -10
  35. package/dist/cjs/post-components.cjs.js +2 -2
  36. package/dist/cjs/{post-footer-5f7fdf96.js → post-footer-5179aa17.js} +11 -57
  37. package/dist/cjs/post-footer.cjs.entry.js +4 -3
  38. package/dist/cjs/post-linkarea-27125078.js +30 -0
  39. package/dist/cjs/post-linkarea.cjs.entry.js +11 -0
  40. package/dist/cjs/{post-menu-item-bb0b0b9e.js → post-menu-item-d78a9121.js} +11 -17
  41. package/dist/cjs/post-popover-feb1e773.js +135 -0
  42. package/dist/cjs/post-popover.cjs.entry.js +4 -4
  43. package/dist/cjs/{post-rating-1082197c.js → post-rating-6d153a2c.js} +4 -4
  44. package/dist/cjs/post-rating.cjs.entry.js +3 -3
  45. package/dist/cjs/post-tab-header-e4532918.js +34 -0
  46. package/dist/cjs/post-tab-header.cjs.entry.js +6 -4
  47. package/dist/cjs/{post-tab-panel-60f211a5.js → post-tab-panel-40df21ad.js} +5 -4
  48. package/dist/cjs/post-tab-panel.cjs.entry.js +4 -3
  49. package/dist/cjs/{post-tabs-1f797ce4.js → post-tabs-45db2696.js} +13 -15
  50. package/dist/cjs/post-tabs.cjs.entry.js +5 -4
  51. package/dist/cjs/post-tag-0967bb1e.js +47 -0
  52. package/dist/cjs/post-tag.cjs.entry.js +3 -3
  53. package/dist/cjs/post-togglebutton-42b7d166.js +4494 -0
  54. package/dist/cjs/post-tooltip-f833d51d.js +73 -0
  55. package/dist/cjs/{post-tooltip-38c839a4.js → post-tooltip-trigger-3ceac010.js} +143 -456
  56. package/dist/cjs/post-tooltip-trigger.cjs.entry.js +13 -0
  57. package/dist/cjs/post-tooltip.cjs.entry.js +5 -9
  58. package/dist/cjs/{slide-5d51abe8.js → slide-cd1f09b3.js} +8 -8
  59. package/dist/collection/animations/collapse.js +8 -6
  60. package/dist/collection/animations/fade.js +6 -2
  61. package/dist/collection/animations/slide.js +8 -8
  62. package/dist/collection/collection-manifest.json +5 -3
  63. package/dist/collection/components/post-accordion/post-accordion.css +1 -1
  64. package/dist/collection/components/post-accordion/post-accordion.js +6 -8
  65. package/dist/collection/components/post-accordion-item/post-accordion-item.css +1 -1
  66. package/dist/collection/components/post-accordion-item/post-accordion-item.js +12 -12
  67. package/dist/collection/components/post-avatar/post-avatar.css +1 -3
  68. package/dist/collection/components/post-avatar/post-avatar.js +7 -11
  69. package/dist/collection/components/post-back-to-top/post-back-to-top.css +1 -1
  70. package/dist/collection/components/post-back-to-top/post-back-to-top.js +38 -18
  71. package/dist/collection/components/post-banner/post-banner.css +1 -3
  72. package/dist/collection/components/post-banner/post-banner.js +13 -12
  73. package/dist/collection/components/post-breadcrumb-item/post-breadcrumb-item.js +11 -8
  74. package/dist/collection/components/post-breadcrumbs/post-breadcrumbs.css +1 -0
  75. package/dist/collection/components/{post-breadcrumb/post-breadcrumb.js → post-breadcrumbs/post-breadcrumbs.js} +20 -21
  76. package/dist/collection/components/post-card-control/post-card-control.css +1 -3
  77. package/dist/collection/components/post-card-control/post-card-control.js +15 -19
  78. package/dist/collection/components/post-closebutton/post-closebutton.css +1 -0
  79. package/dist/collection/components/post-closebutton/post-closebutton.js +12 -1
  80. package/dist/collection/components/post-collapsible/post-collapsible.css +1 -1
  81. package/dist/collection/components/post-collapsible/post-collapsible.js +3 -2
  82. package/dist/collection/components/post-collapsible-trigger/post-collapsible-trigger.js +43 -45
  83. package/dist/collection/components/post-footer/post-footer.js +8 -8
  84. package/dist/collection/components/post-header/post-header.css +1 -1
  85. package/dist/collection/components/post-header/post-header.js +212 -52
  86. package/dist/collection/components/post-icon/post-icon.css +1 -1
  87. package/dist/collection/components/post-icon/post-icon.js +71 -29
  88. package/dist/collection/components/post-language-option/post-language-option.css +1 -3
  89. package/dist/collection/components/post-language-option/post-language-option.js +34 -12
  90. package/dist/collection/components/post-language-switch/post-language-switch.css +1 -1
  91. package/dist/collection/components/post-language-switch/post-language-switch.js +56 -33
  92. package/dist/collection/components/post-language-switch/switch-variants.js +1 -1
  93. package/dist/collection/components/post-linkarea/post-linkarea.css +1 -0
  94. package/dist/collection/components/post-linkarea/post-linkarea.js +30 -0
  95. package/dist/collection/components/post-list/post-list.css +1 -3
  96. package/dist/collection/components/post-list/post-list.js +4 -3
  97. package/dist/collection/components/post-list-item/post-list-item.js +2 -1
  98. package/dist/collection/components/post-logo/post-logo.css +1 -1
  99. package/dist/collection/components/post-logo/post-logo.js +2 -2
  100. package/dist/collection/components/post-mainnavigation/post-mainnavigation.css +1 -1
  101. package/dist/collection/components/post-mainnavigation/post-mainnavigation.js +157 -25
  102. package/dist/collection/components/post-megadropdown/post-megadropdown.css +1 -1
  103. package/dist/collection/components/post-megadropdown/post-megadropdown.js +179 -55
  104. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.css +1 -1
  105. package/dist/collection/components/post-megadropdown-trigger/post-megadropdown-trigger.js +41 -12
  106. package/dist/collection/components/post-menu/post-menu.css +1 -3
  107. package/dist/collection/components/post-menu/post-menu.js +44 -30
  108. package/dist/collection/components/post-menu-item/post-menu-item.js +1 -13
  109. package/dist/collection/components/post-menu-trigger/post-menu-trigger.js +16 -10
  110. package/dist/collection/components/post-popover/post-popover.css +1 -3
  111. package/dist/collection/components/post-popover/post-popover.js +23 -16
  112. package/dist/collection/components/post-popovercontainer/post-popovercontainer.css +1 -1
  113. package/dist/collection/components/post-popovercontainer/post-popovercontainer.js +217 -56
  114. package/dist/collection/components/post-rating/post-rating.css +1 -3
  115. package/dist/collection/components/post-rating/post-rating.js +1 -1
  116. package/dist/collection/components/post-tab-header/post-tab-header.css +1 -3
  117. package/dist/collection/components/post-tab-header/post-tab-header.js +6 -5
  118. package/dist/collection/components/post-tab-panel/post-tab-panel.js +4 -3
  119. package/dist/collection/components/post-tabs/post-tabs.css +1 -1
  120. package/dist/collection/components/post-tabs/post-tabs.js +6 -14
  121. package/dist/collection/components/post-tag/post-tag.css +1 -3
  122. package/dist/collection/components/post-tag/post-tag.js +2 -2
  123. package/dist/collection/components/post-togglebutton/post-togglebutton.js +3 -3
  124. package/dist/collection/components/post-tooltip/post-tooltip.css +1 -1
  125. package/dist/collection/components/post-tooltip/post-tooltip.js +62 -212
  126. package/dist/collection/components/post-tooltip-trigger/post-tooltip-trigger.css +1 -0
  127. package/dist/collection/components/post-tooltip-trigger/post-tooltip-trigger.js +230 -0
  128. package/dist/collection/index.js +3 -1
  129. package/dist/collection/utils/attribute-observer.js +6 -5
  130. package/dist/collection/utils/breakpoints.js +21 -15
  131. package/dist/collection/utils/component-on-ready.js +4 -4
  132. package/dist/collection/utils/debounce.js +2 -1
  133. package/dist/collection/utils/environment.js +2 -0
  134. package/dist/collection/utils/event-guard.js +43 -0
  135. package/dist/collection/utils/{is-focusable.js → get-focusable-children.js} +10 -3
  136. package/dist/collection/utils/get-root.js +6 -1
  137. package/dist/collection/utils/index.js +5 -0
  138. package/dist/collection/utils/is-motion-reduced.js +2 -1
  139. package/dist/collection/utils/property-checkers/check-non-empty.js +6 -2
  140. package/dist/collection/utils/property-checkers/check-one-of.js +8 -3
  141. package/dist/collection/utils/property-checkers/check-pattern.js +8 -3
  142. package/dist/collection/utils/property-checkers/check-type.js +11 -6
  143. package/dist/collection/utils/property-checkers/check-url.js +11 -6
  144. package/dist/collection/utils/property-checkers/empty-or.js +5 -2
  145. package/dist/collection/utils/sass-export.js +8 -5
  146. package/dist/components/breakpoints.js +56 -0
  147. package/dist/components/check-non-empty.js +6 -2
  148. package/dist/components/check-one-of.js +8 -3
  149. package/dist/components/check-type.js +11 -6
  150. package/dist/components/event-guard.js +45 -0
  151. package/dist/components/fade.js +6 -2
  152. package/dist/components/get-focusable-children.js +35 -0
  153. package/dist/components/get-root.js +7 -1
  154. package/dist/components/index.browser.js +14 -0
  155. package/dist/components/index.js +3 -1
  156. package/dist/components/index2.js +24 -11
  157. package/dist/components/long-press-event.js +264 -0
  158. package/dist/components/package.js +1 -1
  159. package/dist/components/post-accordion-item2.js +14 -13
  160. package/dist/components/post-accordion2.js +8 -9
  161. package/dist/components/post-avatar2.js +8 -11
  162. package/dist/components/post-back-to-top2.js +41 -20
  163. package/dist/components/post-banner2.js +15 -13
  164. package/dist/components/post-breadcrumb-item2.js +9 -9
  165. package/dist/components/post-breadcrumbs.d.ts +11 -0
  166. package/dist/components/post-breadcrumbs.js +6 -0
  167. package/dist/components/post-breadcrumbs2.js +177 -0
  168. package/dist/components/post-card-control2.js +16 -19
  169. package/dist/components/post-closebutton2.js +7 -2
  170. package/dist/components/post-collapsible-trigger2.js +46 -48
  171. package/dist/components/post-collapsible2.js +13 -10
  172. package/dist/components/post-footer2.js +8 -54
  173. package/dist/components/post-header2.js +174 -51
  174. package/dist/components/post-icon2.js +72 -29
  175. package/dist/components/post-language-option2.js +21 -12
  176. package/dist/components/post-language-switch2.js +44 -45
  177. package/dist/components/{post-breadcrumb.d.ts → post-linkarea.d.ts} +4 -4
  178. package/dist/components/post-linkarea.js +6 -0
  179. package/dist/components/post-linkarea2.js +43 -0
  180. package/dist/components/post-list-item2.js +2 -1
  181. package/dist/components/post-list2.js +5 -4
  182. package/dist/components/post-logo2.js +4 -3
  183. package/dist/components/post-mainnavigation2.js +150 -15
  184. package/dist/components/post-megadropdown-trigger2.js +43 -13
  185. package/dist/components/post-megadropdown2.js +136 -39
  186. package/dist/components/post-menu-item2.js +2 -8
  187. package/dist/components/post-menu-trigger2.js +17 -10
  188. package/dist/components/post-menu2.js +43 -54
  189. package/dist/components/post-popover2.js +46 -15
  190. package/dist/components/post-popovercontainer2.js +921 -111
  191. package/dist/components/post-rating2.js +2 -2
  192. package/dist/components/post-tab-header2.js +8 -6
  193. package/dist/components/post-tab-panel2.js +4 -3
  194. package/dist/components/post-tabs2.js +10 -12
  195. package/dist/components/post-tag2.js +2 -2
  196. package/dist/components/post-togglebutton2.js +4 -3
  197. package/dist/components/post-tooltip-trigger.d.ts +11 -0
  198. package/dist/components/post-tooltip-trigger.js +6 -0
  199. package/dist/components/post-tooltip-trigger2.js +4705 -0
  200. package/dist/components/post-tooltip2.js +34 -4960
  201. package/dist/components/slide.js +9 -9
  202. package/dist/docs.json +567 -252
  203. package/dist/esm/breakpoints-7812702e.js +56 -0
  204. package/dist/esm/check-non-empty-258a56b3.js +13 -0
  205. package/dist/esm/check-one-of-0bee20f5.js +11 -0
  206. package/dist/esm/check-type-37d5d307.js +19 -0
  207. package/dist/esm/check-url-17962bc8.js +17 -0
  208. package/dist/esm/event-guard-538ee077.js +45 -0
  209. package/dist/esm/fade-1f3cacf4.js +11 -0
  210. package/dist/esm/get-root-1b1af46f.js +15 -0
  211. package/dist/esm/index-8f8fe5b0.js +32 -0
  212. package/dist/esm/{index-fb8d6be7.js → index-f4d19816.js} +17 -10
  213. package/dist/esm/index.browser-ff103197.js +14 -0
  214. package/dist/esm/index.js +33 -30
  215. package/dist/esm/loader.js +3 -3
  216. package/dist/esm/long-press-event-04d24397.js +264 -0
  217. package/dist/esm/package-d9237b44.js +3 -0
  218. package/dist/esm/{post-accordion-ee54a3ef.js → post-accordion-fdcf7205.js} +11 -12
  219. package/dist/esm/post-accordion-item-e11e3804.js +62 -0
  220. package/dist/esm/post-accordion-item.entry.js +10 -7
  221. package/dist/esm/post-accordion.entry.js +6 -4
  222. package/dist/esm/{post-avatar-5572fa73.js → post-avatar-d360c6d2.js} +10 -13
  223. package/dist/esm/post-avatar.entry.js +5 -4
  224. package/dist/esm/post-back-to-top-85796c8b.js +94 -0
  225. package/dist/esm/post-back-to-top.entry.js +7 -6
  226. package/dist/esm/post-banner-a3090f67.js +90 -0
  227. package/dist/esm/post-banner.entry.js +11 -9
  228. package/dist/esm/post-breadcrumb-item_2.entry.js +8 -7
  229. package/dist/esm/post-breadcrumbs-15ec5a26.js +118 -0
  230. package/dist/esm/post-breadcrumbs.entry.js +5 -0
  231. package/dist/esm/post-card-control-6142534e.js +267 -0
  232. package/dist/esm/post-card-control.entry.js +6 -5
  233. package/dist/esm/post-closebutton_15.entry.js +13 -10
  234. package/dist/esm/{post-collapsible-trigger-1c7833f8.js → post-collapsible-trigger-68306358.js} +59 -60
  235. package/dist/esm/post-collapsible_2.entry.js +11 -10
  236. package/dist/esm/post-components.js +3 -3
  237. package/dist/esm/{post-footer-b18875e7.js → post-footer-d2a3270e.js} +10 -56
  238. package/dist/esm/post-footer.entry.js +4 -3
  239. package/dist/esm/post-linkarea-64998c67.js +28 -0
  240. package/dist/esm/post-linkarea.entry.js +3 -0
  241. package/dist/esm/{post-menu-item-2906384b.js → post-menu-item-95a0a647.js} +11 -17
  242. package/dist/esm/post-popover-c5f81087.js +133 -0
  243. package/dist/esm/post-popover.entry.js +4 -4
  244. package/dist/esm/{post-rating-95cbdbb8.js → post-rating-7bfedafb.js} +4 -4
  245. package/dist/esm/post-rating.entry.js +3 -3
  246. package/dist/esm/post-tab-header-08033da4.js +32 -0
  247. package/dist/esm/post-tab-header.entry.js +6 -4
  248. package/dist/esm/{post-tab-panel-cafd9e04.js → post-tab-panel-be701793.js} +5 -4
  249. package/dist/esm/post-tab-panel.entry.js +4 -3
  250. package/dist/esm/{post-tabs-beef8eae.js → post-tabs-c69e2842.js} +13 -15
  251. package/dist/esm/post-tabs.entry.js +5 -4
  252. package/dist/esm/post-tag-ebac7f3e.js +45 -0
  253. package/dist/esm/post-tag.entry.js +3 -3
  254. package/dist/esm/post-togglebutton-706e3af0.js +4478 -0
  255. package/dist/esm/post-tooltip-9a195d47.js +71 -0
  256. package/dist/esm/{post-tooltip-b298039a.js → post-tooltip-trigger-7d6f234b.js} +143 -456
  257. package/dist/esm/post-tooltip-trigger.entry.js +5 -0
  258. package/dist/esm/post-tooltip.entry.js +5 -9
  259. package/dist/esm/{slide-3422b8a3.js → slide-cd2850ee.js} +9 -9
  260. package/dist/post-components/index.esm.js +1 -1
  261. package/dist/post-components/p-034715ec.js +1 -0
  262. package/dist/post-components/p-0717fe4c.js +1 -0
  263. package/dist/post-components/p-0889c759.js +1 -0
  264. package/dist/post-components/p-0c03547b.js +1 -0
  265. package/dist/post-components/p-0de8d05f.js +1 -0
  266. package/dist/post-components/p-1373a79b.entry.js +1 -0
  267. package/dist/post-components/{p-4f9746f6.js → p-17dc4170.js} +2 -9
  268. package/dist/post-components/p-181c73d5.js +1 -0
  269. package/dist/post-components/p-1a21fd8d.js +1 -0
  270. package/dist/post-components/p-1ab3eba4.entry.js +1 -0
  271. package/dist/post-components/p-2d6c0670.js +1 -0
  272. package/dist/post-components/p-2dc0a2d0.js +1 -0
  273. package/dist/post-components/p-35ad2e11.entry.js +1 -0
  274. package/dist/post-components/p-368c473a.js +1 -0
  275. package/dist/post-components/p-38f778a7.entry.js +1 -0
  276. package/dist/post-components/p-39a8df3c.entry.js +1 -0
  277. package/dist/post-components/p-3c7f6003.js +1 -0
  278. package/dist/post-components/p-474a41bc.entry.js +1 -0
  279. package/dist/post-components/p-64e3de38.js +1 -0
  280. package/dist/post-components/p-69bc8eaf.entry.js +1 -0
  281. package/dist/post-components/p-6b31a76a.js +1 -0
  282. package/dist/post-components/p-722ffaae.js +1 -0
  283. package/dist/post-components/p-72310bf0.entry.js +1 -0
  284. package/dist/post-components/p-7709c14a.js +1 -0
  285. package/dist/post-components/p-804b61b7.entry.js +1 -0
  286. package/dist/post-components/p-85fdc2d3.js +1 -0
  287. package/dist/post-components/p-89247caa.js +1 -0
  288. package/dist/post-components/p-89dc67c7.entry.js +1 -0
  289. package/dist/post-components/p-8db32dab.js +8 -0
  290. package/dist/post-components/p-8f7f5200.entry.js +1 -0
  291. package/dist/post-components/p-964f9581.js +1 -0
  292. package/dist/post-components/p-9b052461.js +1 -0
  293. package/dist/post-components/{p-c0ae9886.js → p-9e461613.js} +2 -2
  294. package/dist/post-components/p-a52b2d34.js +1 -0
  295. package/dist/post-components/p-ab566526.js +1 -0
  296. package/dist/post-components/p-b648e537.entry.js +1 -0
  297. package/dist/post-components/p-bc33a6d9.js +1 -0
  298. package/dist/post-components/p-bcfdbd0b.entry.js +1 -0
  299. package/dist/post-components/p-beb67979.js +1 -0
  300. package/dist/post-components/p-c41868b1.js +1 -0
  301. package/dist/post-components/p-c65f32b0.js +1 -0
  302. package/dist/post-components/p-c71700a7.js +1 -0
  303. package/dist/post-components/p-cb027003.js +1 -0
  304. package/dist/post-components/p-cc5b1437.js +1 -0
  305. package/dist/post-components/p-ceda889e.entry.js +1 -0
  306. package/dist/post-components/p-d45df336.js +1 -0
  307. package/dist/post-components/p-de4d4274.js +1 -0
  308. package/dist/post-components/p-deb9efcf.entry.js +1 -0
  309. package/dist/post-components/p-e585c6fe.js +1 -0
  310. package/dist/post-components/p-e9f1cc46.entry.js +1 -0
  311. package/dist/post-components/p-ee4e776d.entry.js +1 -0
  312. package/dist/post-components/p-ee7c3bcc.entry.js +1 -0
  313. package/dist/post-components/p-f56482fa.entry.js +1 -0
  314. package/dist/post-components/p-f8c652ce.entry.js +1 -0
  315. package/dist/post-components/post-components.esm.js +1 -1
  316. package/dist/types/animations/collapse.d.ts +2 -2
  317. package/dist/types/animations/fade.d.ts +2 -2
  318. package/dist/types/animations/slide.d.ts +2 -2
  319. package/dist/types/components/post-accordion-item/post-accordion-item.d.ts +1 -1
  320. package/dist/types/components/post-avatar/post-avatar.d.ts +1 -1
  321. package/dist/types/components/post-back-to-top/post-back-to-top.d.ts +4 -2
  322. package/dist/types/components/post-banner/post-banner.d.ts +5 -5
  323. package/dist/types/components/post-breadcrumb-item/post-breadcrumb-item.d.ts +4 -0
  324. package/dist/types/components/{post-breadcrumb/post-breadcrumb.d.ts → post-breadcrumbs/post-breadcrumbs.d.ts} +4 -4
  325. package/dist/types/components/post-card-control/post-card-control.d.ts +3 -3
  326. package/dist/types/components/post-collapsible-trigger/post-collapsible-trigger.d.ts +9 -14
  327. package/dist/types/components/post-footer/post-footer.d.ts +2 -2
  328. package/dist/types/components/post-header/post-header.d.ts +38 -10
  329. package/dist/types/components/post-icon/post-icon.d.ts +11 -7
  330. package/dist/types/components/post-language-option/post-language-option.d.ts +9 -5
  331. package/dist/types/components/post-language-switch/post-language-switch.d.ts +16 -8
  332. package/dist/types/components/post-language-switch/switch-variants.d.ts +1 -1
  333. package/dist/types/components/post-linkarea/post-linkarea.d.ts +5 -0
  334. package/dist/types/components/post-mainnavigation/post-mainnavigation.d.ts +36 -9
  335. package/dist/types/components/post-megadropdown/post-megadropdown.d.ts +37 -13
  336. package/dist/types/components/post-megadropdown-trigger/post-megadropdown-trigger.d.ts +9 -1
  337. package/dist/types/components/post-menu/post-menu.d.ts +4 -3
  338. package/dist/types/components/post-menu-item/post-menu-item.d.ts +0 -1
  339. package/dist/types/components/post-menu-trigger/post-menu-trigger.d.ts +4 -3
  340. package/dist/types/components/post-popover/post-popover.d.ts +6 -4
  341. package/dist/types/components/post-popovercontainer/post-popovercontainer.d.ts +40 -14
  342. package/dist/types/components/post-tab-header/post-tab-header.d.ts +1 -1
  343. package/dist/types/components/post-tabs/post-tabs.d.ts +1 -1
  344. package/dist/types/components/post-tag/post-tag.d.ts +1 -1
  345. package/dist/types/components/post-togglebutton/post-togglebutton.d.ts +1 -1
  346. package/dist/types/components/post-tooltip/post-tooltip.d.ts +21 -34
  347. package/dist/types/components/post-tooltip-trigger/post-tooltip-trigger.d.ts +46 -0
  348. package/dist/types/components.d.ts +181 -94
  349. package/dist/types/home/runner/work/design-system/design-system/packages/components/.stencil/.config/bindings.angular.d.ts +2 -0
  350. package/dist/types/index.d.ts +5 -3
  351. package/dist/types/popover-fn.d.ts +11 -0
  352. package/dist/types/utils/attribute-observer.d.ts +1 -1
  353. package/dist/types/utils/breakpoints.d.ts +1 -0
  354. package/dist/types/utils/component-on-ready.d.ts +1 -1
  355. package/dist/types/utils/environment.d.ts +2 -0
  356. package/dist/types/utils/event-guard.d.ts +4 -0
  357. package/dist/types/utils/get-focusable-children.d.ts +1 -0
  358. package/dist/types/utils/get-root.d.ts +5 -1
  359. package/dist/types/utils/index.d.ts +5 -0
  360. package/dist/types/utils/property-checkers/check-non-empty.d.ts +3 -1
  361. package/dist/types/utils/property-checkers/check-one-of.d.ts +3 -1
  362. package/dist/types/utils/property-checkers/check-pattern.d.ts +3 -1
  363. package/dist/types/utils/property-checkers/check-type.d.ts +3 -1
  364. package/dist/types/utils/property-checkers/check-url.d.ts +3 -1
  365. package/dist/types/utils/property-checkers/index.d.ts +12 -4
  366. package/dist/types/utils/sass-export.d.ts +5 -1
  367. package/loaders/breakpoints.js +56 -0
  368. package/loaders/check-non-empty.js +6 -2
  369. package/loaders/check-one-of.js +8 -3
  370. package/loaders/check-type.js +11 -6
  371. package/loaders/event-guard.js +45 -0
  372. package/loaders/fade.js +6 -2
  373. package/loaders/get-focusable-children.js +35 -0
  374. package/loaders/get-root.js +7 -1
  375. package/loaders/index.browser.js +14 -0
  376. package/loaders/index.d.ts +6 -2
  377. package/loaders/index.js +8 -5
  378. package/loaders/index2.js +25 -12
  379. package/loaders/long-press-event.js +264 -0
  380. package/loaders/package.js +1 -1
  381. package/loaders/post-accordion-item2.js +15 -14
  382. package/loaders/post-accordion.js +8 -9
  383. package/loaders/post-avatar.js +8 -11
  384. package/loaders/post-back-to-top.js +41 -20
  385. package/loaders/post-banner.js +16 -14
  386. package/loaders/post-breadcrumb-item2.js +9 -9
  387. package/loaders/post-breadcrumbs.d.ts +11 -0
  388. package/loaders/post-breadcrumbs.js +180 -0
  389. package/loaders/post-card-control.js +16 -19
  390. package/loaders/post-closebutton.js +7 -2
  391. package/loaders/post-collapsible-trigger2.js +46 -48
  392. package/loaders/post-collapsible2.js +14 -11
  393. package/loaders/post-footer.js +8 -54
  394. package/loaders/post-header.js +174 -51
  395. package/loaders/post-icon2.js +73 -30
  396. package/loaders/post-language-option.js +22 -13
  397. package/loaders/post-language-switch.js +45 -46
  398. package/loaders/{post-breadcrumb.d.ts → post-linkarea.d.ts} +4 -4
  399. package/loaders/post-linkarea.js +46 -0
  400. package/loaders/post-list-item.js +2 -1
  401. package/loaders/post-list.js +5 -4
  402. package/loaders/post-logo.js +4 -3
  403. package/loaders/post-mainnavigation.js +150 -15
  404. package/loaders/post-megadropdown-trigger.js +43 -13
  405. package/loaders/post-megadropdown.js +136 -39
  406. package/loaders/post-menu-item2.js +2 -8
  407. package/loaders/post-menu-trigger2.js +17 -10
  408. package/loaders/post-menu2.js +43 -54
  409. package/loaders/post-popover.js +46 -15
  410. package/loaders/post-popovercontainer2.js +921 -111
  411. package/loaders/post-rating.js +2 -2
  412. package/loaders/post-tab-header.js +8 -6
  413. package/loaders/post-tab-panel.js +4 -3
  414. package/loaders/post-tabs.js +10 -12
  415. package/loaders/post-tag.js +2 -2
  416. package/loaders/post-togglebutton.js +4 -3
  417. package/loaders/post-tooltip-trigger.d.ts +11 -0
  418. package/loaders/post-tooltip-trigger.js +4708 -0
  419. package/loaders/post-tooltip.js +34 -4960
  420. package/loaders/slide.js +9 -9
  421. package/package.json +41 -32
  422. package/dist/cjs/attribute-observer-10f08c04.js +0 -27
  423. package/dist/cjs/check-non-empty-eeaa8f77.js +0 -11
  424. package/dist/cjs/check-one-of-f4f5d0c0.js +0 -8
  425. package/dist/cjs/check-type-64af82a9.js +0 -16
  426. package/dist/cjs/check-url-3ffdd2fb.js +0 -14
  427. package/dist/cjs/debounce-1151afe3.js +0 -12
  428. package/dist/cjs/fade-35a3633a.js +0 -10
  429. package/dist/cjs/get-root-7a3498ef.js +0 -11
  430. package/dist/cjs/index-5d4e0aed.js +0 -29
  431. package/dist/cjs/post-accordion-item-ecc6749f.js +0 -63
  432. package/dist/cjs/post-back-to-top-60762f8e.js +0 -75
  433. package/dist/cjs/post-banner-9662f22c.js +0 -90
  434. package/dist/cjs/post-breadcrumb-b40732fc.js +0 -111
  435. package/dist/cjs/post-breadcrumb.cjs.entry.js +0 -13
  436. package/dist/cjs/post-card-control-039c9a4b.js +0 -272
  437. package/dist/cjs/post-popover-d0ce9dc6.js +0 -104
  438. package/dist/cjs/post-tab-header-4b6d8d54.js +0 -32
  439. package/dist/cjs/post-tag-ddaaaedc.js +0 -47
  440. package/dist/cjs/post-togglebutton-0984a694.js +0 -3239
  441. package/dist/collection/components/post-breadcrumb/post-breadcrumb.css +0 -3
  442. package/dist/collection/components/post-menu-item/post-menu-item.css +0 -1
  443. package/dist/components/attribute-observer.js +0 -25
  444. package/dist/components/debounce.js +0 -10
  445. package/dist/components/post-breadcrumb.js +0 -6
  446. package/dist/components/post-breadcrumb2.js +0 -168
  447. package/dist/esm/attribute-observer-37fa950a.js +0 -25
  448. package/dist/esm/check-non-empty-58bd6b17.js +0 -9
  449. package/dist/esm/check-one-of-6b3ef8eb.js +0 -6
  450. package/dist/esm/check-type-8828dbe4.js +0 -14
  451. package/dist/esm/check-url-a974431e.js +0 -12
  452. package/dist/esm/debounce-abe98cc2.js +0 -10
  453. package/dist/esm/fade-7fd71785.js +0 -7
  454. package/dist/esm/get-root-7af2e0d1.js +0 -9
  455. package/dist/esm/index-b49c9904.js +0 -24
  456. package/dist/esm/package-4d81f3c2.js +0 -3
  457. package/dist/esm/post-accordion-item-e10452dc.js +0 -61
  458. package/dist/esm/post-back-to-top-1d823c43.js +0 -73
  459. package/dist/esm/post-banner-78480475.js +0 -88
  460. package/dist/esm/post-breadcrumb-aaa77f74.js +0 -109
  461. package/dist/esm/post-breadcrumb.entry.js +0 -5
  462. package/dist/esm/post-card-control-862aa961.js +0 -270
  463. package/dist/esm/post-popover-2432bb3f.js +0 -102
  464. package/dist/esm/post-tab-header-dfea00ea.js +0 -30
  465. package/dist/esm/post-tag-a77e7af6.js +0 -45
  466. package/dist/esm/post-togglebutton-395bf3f0.js +0 -3223
  467. package/dist/post-components/p-0711f76d.entry.js +0 -1
  468. package/dist/post-components/p-095a06f6.entry.js +0 -1
  469. package/dist/post-components/p-0b5a5f32.js +0 -1
  470. package/dist/post-components/p-135fa60f.js +0 -1
  471. package/dist/post-components/p-18e38d8a.js +0 -1
  472. package/dist/post-components/p-2737eaf5.js +0 -1
  473. package/dist/post-components/p-2e1ec074.entry.js +0 -1
  474. package/dist/post-components/p-4202b433.entry.js +0 -1
  475. package/dist/post-components/p-45773f59.js +0 -1
  476. package/dist/post-components/p-4953de7e.js +0 -1
  477. package/dist/post-components/p-4a3f67ab.js +0 -1
  478. package/dist/post-components/p-4f67c5f5.entry.js +0 -1
  479. package/dist/post-components/p-5075c672.entry.js +0 -1
  480. package/dist/post-components/p-515e0f96.js +0 -1
  481. package/dist/post-components/p-5467b223.js +0 -1
  482. package/dist/post-components/p-611b3c41.js +0 -1
  483. package/dist/post-components/p-67036798.entry.js +0 -1
  484. package/dist/post-components/p-6adeaa6c.js +0 -1
  485. package/dist/post-components/p-6d953fb2.js +0 -1
  486. package/dist/post-components/p-6edb0ac5.js +0 -1
  487. package/dist/post-components/p-6f8f39ca.js +0 -1
  488. package/dist/post-components/p-7503a623.js +0 -1
  489. package/dist/post-components/p-761b24c7.entry.js +0 -1
  490. package/dist/post-components/p-77c4c1d2.js +0 -1
  491. package/dist/post-components/p-7cf0c2ad.js +0 -1
  492. package/dist/post-components/p-856c14d6.entry.js +0 -1
  493. package/dist/post-components/p-866bf50a.entry.js +0 -1
  494. package/dist/post-components/p-8d621781.js +0 -1
  495. package/dist/post-components/p-8fe2d72c.entry.js +0 -1
  496. package/dist/post-components/p-9ad5088f.entry.js +0 -1
  497. package/dist/post-components/p-a1d2b90e.js +0 -1
  498. package/dist/post-components/p-a521419d.entry.js +0 -1
  499. package/dist/post-components/p-aa538648.js +0 -1
  500. package/dist/post-components/p-afdbee2f.js +0 -1
  501. package/dist/post-components/p-b02817f2.entry.js +0 -1
  502. package/dist/post-components/p-b095519d.js +0 -1
  503. package/dist/post-components/p-b157dcba.entry.js +0 -1
  504. package/dist/post-components/p-b22656b1.js +0 -1
  505. package/dist/post-components/p-bdbd11cb.js +0 -1
  506. package/dist/post-components/p-c537e196.entry.js +0 -1
  507. package/dist/post-components/p-d4f93f2b.js +0 -1
  508. package/dist/post-components/p-dca4246a.entry.js +0 -1
  509. package/dist/post-components/p-f319b026.js +0 -1
  510. package/dist/post-components/p-f4b7b379.js +0 -1
  511. package/dist/post-components/p-fac66087.entry.js +0 -1
  512. package/dist/post-components/p-fc91cbc2.js +0 -1
  513. package/dist/types/utils/is-focusable.d.ts +0 -1
  514. package/loaders/attribute-observer.js +0 -25
  515. package/loaders/debounce.js +0 -10
  516. package/loaders/post-breadcrumb.js +0 -171
@@ -1,7 +1,7 @@
1
- import { r as registerInstance, h, H as Host, g as getElement } from './index-fb8d6be7.js';
2
- import { v as version$1 } from './package-4d81f3c2.js';
3
- import { g as getAttributeObserver } from './attribute-observer-37fa950a.js';
4
- import { d as checkEmptyOrType } from './index-b49c9904.js';
1
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-f4d19816.js';
2
+ import { I as IS_BROWSER } from './breakpoints-7812702e.js';
3
+ import { c as checkType } from './check-type-37d5d307.js';
4
+ import { v as version$1 } from './package-d9237b44.js';
5
5
 
6
6
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
7
7
 
@@ -4507,492 +4507,179 @@ module.exports = exports['default'];
4507
4507
 
4508
4508
  const isFocusable = /*@__PURE__*/getDefaultExportFromCjs(focusable.exports);
4509
4509
 
4510
- /*!
4511
- * long-press-event - v@version@
4512
- * Pure JavaScript long-press-event
4513
- * https://github.com/john-doherty/long-press-event
4514
- * @author John Doherty <www.johndoherty.info>
4515
- * @license MIT
4516
- */
4517
- (function (window, document) {
4518
-
4519
- // local timer object based on rAF
4520
- var timer = null;
4521
-
4522
- // check if we're using a touch screen
4523
- var hasPointerEvents = (('PointerEvent' in window) || (window.navigator && 'msPointerEnabled' in window.navigator));
4524
- var isTouch = (('ontouchstart' in window) || (navigator.MaxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0));
4525
-
4526
- // switch to pointer events or touch events if using a touch screen
4527
- var mouseDown = hasPointerEvents ? 'pointerdown' : isTouch ? 'touchstart' : 'mousedown';
4528
- var mouseUp = hasPointerEvents ? 'pointerup' : isTouch ? 'touchend' : 'mouseup';
4529
- var mouseMove = hasPointerEvents ? 'pointermove' : isTouch ? 'touchmove' : 'mousemove';
4530
- var mouseLeave = hasPointerEvents ? 'pointerleave' : isTouch ? 'touchleave' : 'mouseleave';
4531
-
4532
- // track number of pixels the mouse moves during long press
4533
- var startX = 0; // mouse x position when timer started
4534
- var startY = 0; // mouse y position when timer started
4535
- var maxDiffX = 10; // max number of X pixels the mouse can move during long press before it is canceled
4536
- var maxDiffY = 10; // max number of Y pixels the mouse can move during long press before it is canceled
4537
-
4538
- // patch CustomEvent to allow constructor creation (IE/Chrome)
4539
- if (typeof window.CustomEvent !== 'function') {
4540
-
4541
- window.CustomEvent = function (event, params) {
4542
-
4543
- params = params || { bubbles: false, cancelable: false, detail: undefined };
4544
-
4545
- var evt = document.createEvent('CustomEvent');
4546
- evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);
4547
- return evt;
4548
- };
4549
-
4550
- window.CustomEvent.prototype = window.Event.prototype;
4551
- }
4510
+ const postTooltipTriggerCss = "post-tooltip-trigger{vertical-align:top}";
4511
+ const PostTooltipTriggerStyle0 = postTooltipTriggerCss;
4552
4512
 
4553
- // requestAnimationFrame() shim by Paul Irish
4554
- window.requestAnimFrame = (function () {
4555
- return window.requestAnimationFrame ||
4556
- window.webkitRequestAnimationFrame ||
4557
- window.mozRequestAnimationFrame ||
4558
- window.oRequestAnimationFrame ||
4559
- window.msRequestAnimationFrame || function (callback) {
4560
- window.setTimeout(callback, 1000 / 60);
4561
- };
4513
+ const TRIGGER_EVENTS = ['pointerenter', 'pointerleave', 'focusin', 'focusout', 'long-press'];
4514
+ if (IS_BROWSER) {
4515
+ (async () => {
4516
+ await import('./long-press-event-04d24397.js');
4562
4517
  })();
4563
-
4564
- /**
4565
- * Behaves the same as setTimeout except uses requestAnimationFrame() where possible for better performance
4566
- * @param {function} fn The callback function
4567
- * @param {int} delay The delay in milliseconds
4568
- * @returns {object} handle to the timeout object
4569
- */
4570
- function requestTimeout(fn, delay) {
4571
-
4572
- if (!window.requestAnimationFrame && !window.webkitRequestAnimationFrame &&
4573
- !(window.mozRequestAnimationFrame && window.mozCancelRequestAnimationFrame) && // Firefox 5 ships without cancel support
4574
- !window.oRequestAnimationFrame && !window.msRequestAnimationFrame) return window.setTimeout(fn, delay);
4575
-
4576
- var start = new Date().getTime();
4577
- var handle = {};
4578
-
4579
- var loop = function () {
4580
- var current = new Date().getTime();
4581
- var delta = current - start;
4582
-
4583
- if (delta >= delay) {
4584
- fn.call();
4585
- }
4586
- else {
4587
- handle.value = requestAnimFrame(loop);
4588
- }
4589
- };
4590
-
4591
- handle.value = requestAnimFrame(loop);
4592
-
4593
- return handle;
4594
- }
4595
-
4596
- /**
4597
- * Behaves the same as clearTimeout except uses cancelRequestAnimationFrame() where possible for better performance
4598
- * @param {object} handle The callback function
4599
- * @returns {void}
4600
- */
4601
- function clearRequestTimeout(handle) {
4602
- if (handle) {
4603
- window.cancelAnimationFrame ? window.cancelAnimationFrame(handle.value) :
4604
- window.webkitCancelAnimationFrame ? window.webkitCancelAnimationFrame(handle.value) :
4605
- window.webkitCancelRequestAnimationFrame ? window.webkitCancelRequestAnimationFrame(handle.value) : /* Support for legacy API */
4606
- window.mozCancelRequestAnimationFrame ? window.mozCancelRequestAnimationFrame(handle.value) :
4607
- window.oCancelRequestAnimationFrame ? window.oCancelRequestAnimationFrame(handle.value) :
4608
- window.msCancelRequestAnimationFrame ? window.msCancelRequestAnimationFrame(handle.value) :
4609
- clearTimeout(handle);
4610
- }
4518
+ }
4519
+ const PostTooltipTrigger = class {
4520
+ constructor(hostRef) {
4521
+ registerInstance(this, hostRef);
4522
+ /**
4523
+ * Reference to the element inside the host that will act as the trigger.
4524
+ */
4525
+ this.trigger = null;
4526
+ /**
4527
+ * Timeout ID for the delay.
4528
+ */
4529
+ this.delayTimeout = null;
4530
+ this.for = undefined;
4531
+ this.delay = 0;
4532
+ this.boundTriggerHandler = this.handleTriggerEvent.bind(this);
4533
+ this.boundTooltipHandler = this.handleTooltipEvent.bind(this);
4611
4534
  }
4612
-
4613
- /**
4614
- * Fires the 'long-press' event on element
4615
- * @param {MouseEvent|PointerEvent|TouchEvent} originalEvent The original event being fired
4616
- * @returns {void}
4617
- */
4618
- function fireLongPressEvent(originalEvent) {
4619
-
4620
- clearLongPressTimer();
4621
-
4622
- originalEvent = unifyEvent(originalEvent);
4623
-
4624
- // fire the long-press event
4625
- var allowClickEvent = this.dispatchEvent(new CustomEvent('long-press', {
4626
- bubbles: true,
4627
- cancelable: true,
4628
-
4629
- // custom event data (legacy)
4630
- detail: {
4631
- clientX: originalEvent.clientX,
4632
- clientY: originalEvent.clientY,
4633
- offsetX: originalEvent.offsetX,
4634
- offsetY: originalEvent.offsetY,
4635
- pageX: originalEvent.pageX,
4636
- pageY: originalEvent.pageY
4637
- },
4638
-
4639
- // add coordinate data that would typically acompany a touch/click event
4640
- clientX: originalEvent.clientX,
4641
- clientY: originalEvent.clientY,
4642
- offsetX: originalEvent.offsetX,
4643
- offsetY: originalEvent.offsetY,
4644
- pageX: originalEvent.pageX,
4645
- pageY: originalEvent.pageY,
4646
- screenX: originalEvent.screenX,
4647
- screenY: originalEvent.screenY
4648
- }));
4649
-
4650
- if (!allowClickEvent) {
4651
- // suppress the next click event if e.preventDefault() was called in long-press handler
4652
- document.addEventListener('click', function suppressEvent(e) {
4653
- document.removeEventListener('click', suppressEvent, true);
4654
- cancelEvent(e);
4655
- }, true);
4656
- }
4535
+ validateControlFor() {
4536
+ checkType(this, 'for', 'string');
4657
4537
  }
4658
-
4659
- /**
4660
- * consolidates mouse, touch, and Pointer events
4661
- * @param {MouseEvent|PointerEvent|TouchEvent} e The original event being fired
4662
- * @returns {MouseEvent|PointerEvent|Touch}
4663
- */
4664
- function unifyEvent(e) {
4665
- if (e.changedTouches !== undefined) {
4666
- return e.changedTouches[0];
4667
- }
4668
- return e;
4538
+ get tooltip() {
4539
+ if (!IS_BROWSER)
4540
+ return null;
4541
+ const ref = document.getElementById(this.for);
4542
+ return ref?.localName === 'post-tooltip'
4543
+ ? ref
4544
+ : null;
4669
4545
  }
4670
-
4671
- /**
4672
- * method responsible for starting the long press timer
4673
- * @param {event} e - event object
4674
- * @returns {void}
4675
- */
4676
- function startLongPressTimer(e) {
4677
-
4678
- clearLongPressTimer();
4679
-
4680
- var el = e.target;
4681
-
4682
- // get delay from html attribute if it exists, otherwise default to 1500
4683
- var longPressDelayInMs = parseInt(getNearestAttribute(el, 'data-long-press-delay', '1500'), 10); // default 1500
4684
-
4685
- // start the timer
4686
- timer = requestTimeout(fireLongPressEvent.bind(el, e), longPressDelayInMs);
4687
- }
4688
-
4689
- /**
4690
- * method responsible for clearing a pending long press timer
4691
- * @param {event} e - event object
4692
- * @returns {void}
4693
- */
4694
- function clearLongPressTimer(e) {
4695
- clearRequestTimeout(timer);
4696
- timer = null;
4546
+ componentDidLoad() {
4547
+ this.setupTrigger();
4548
+ this.attachListeners();
4549
+ this.attachTooltipListeners();
4697
4550
  }
4698
-
4699
- /**
4700
- * Cancels the current event
4701
- * @param {object} e - browser event object
4702
- * @returns {void}
4703
- */
4704
- function cancelEvent(e) {
4705
- e.stopImmediatePropagation();
4706
- e.preventDefault();
4707
- e.stopPropagation();
4551
+ disconnectedCallback() {
4552
+ this.removeListeners();
4553
+ this.removeTooltipListeners();
4554
+ this.cleanupTrigger();
4555
+ if (this.delayTimeout) {
4556
+ clearTimeout(this.delayTimeout);
4557
+ this.delayTimeout = null;
4558
+ }
4708
4559
  }
4709
-
4710
- /**
4711
- * Starts the timer on mouse down and logs current position
4712
- * @param {object} e - browser event object
4713
- * @returns {void}
4714
- */
4715
- function mouseDownHandler(e) {
4716
- startX = e.clientX;
4717
- startY = e.clientY;
4718
- startLongPressTimer(e);
4560
+ handleSlotChange() {
4561
+ this.cleanupTrigger();
4562
+ this.setupTrigger();
4719
4563
  }
4720
-
4721
- /**
4722
- * If the mouse moves n pixels during long-press, cancel the timer
4723
- * @param {object} e - browser event object
4724
- * @returns {void}
4725
- */
4726
- function mouseMoveHandler(e) {
4727
-
4728
- // calculate total number of pixels the pointer has moved
4729
- var diffX = Math.abs(startX - e.clientX);
4730
- var diffY = Math.abs(startY - e.clientY);
4731
-
4732
- // if pointer has moved more than allowed, cancel the long-press timer and therefore the event
4733
- if (diffX >= maxDiffX || diffY >= maxDiffY) {
4734
- clearLongPressTimer();
4564
+ cleanupTrigger() {
4565
+ if (this.trigger) {
4566
+ const describedBy = this.trigger.getAttribute('aria-describedby') || '';
4567
+ if (describedBy.includes(this.for)) {
4568
+ const newDescribedBy = describedBy
4569
+ .split(' ')
4570
+ .filter(id => id !== this.for)
4571
+ .join(' ');
4572
+ if (newDescribedBy) {
4573
+ this.trigger.setAttribute('aria-describedby', newDescribedBy);
4574
+ }
4575
+ else {
4576
+ this.trigger.removeAttribute('aria-describedby');
4577
+ }
4578
+ }
4579
+ this.trigger = null;
4735
4580
  }
4736
4581
  }
4737
-
4738
- /**
4739
- * Gets attribute off HTML element or nearest parent
4740
- * @param {object} el - HTML element to retrieve attribute from
4741
- * @param {string} attributeName - name of the attribute
4742
- * @param {any} defaultValue - default value to return if no match found
4743
- * @returns {any} attribute value or defaultValue
4744
- */
4745
- function getNearestAttribute(el, attributeName, defaultValue) {
4746
-
4747
- // walk up the dom tree looking for data-action and data-trigger
4748
- while (el && el !== document.documentElement) {
4749
-
4750
- var attributeValue = el.getAttribute(attributeName);
4751
-
4752
- if (attributeValue) {
4753
- return attributeValue;
4582
+ setupTrigger() {
4583
+ this.trigger = this.host.querySelector('*');
4584
+ if (this.trigger) {
4585
+ if (!isFocusable(this.trigger)) {
4586
+ this.trigger.setAttribute('tabindex', '0');
4587
+ }
4588
+ const describedBy = this.trigger.getAttribute('aria-describedby') || '';
4589
+ if (!describedBy.includes(this.for)) {
4590
+ this.trigger.setAttribute('aria-describedby', `${describedBy} ${this.for}`.trim());
4754
4591
  }
4755
-
4756
- el = el.parentNode;
4757
4592
  }
4758
-
4759
- return defaultValue;
4760
- }
4761
-
4762
- // hook events that clear a pending long press event
4763
- document.addEventListener(mouseUp, clearLongPressTimer, true);
4764
- document.addEventListener(mouseLeave, clearLongPressTimer, true);
4765
- document.addEventListener(mouseMove, mouseMoveHandler, true);
4766
- document.addEventListener('wheel', clearLongPressTimer, true);
4767
- document.addEventListener('scroll', clearLongPressTimer, true);
4768
- document.addEventListener('contextmenu', clearLongPressTimer, true);
4769
-
4770
- // hook events that can trigger a long press event
4771
- document.addEventListener(mouseDown, mouseDownHandler, true); // <- start
4772
-
4773
- }(window, document));
4774
-
4775
- const postTooltipCss = ":host{--post-contrast-color:#fff;--post-bg-rgb:51, 51, 51}post-popovercontainer{padding:.25rem .5rem;max-width:13.5rem;min-height:1rem}post-popovercontainer[arrow]::after{position:absolute;content:\"\";inset:-13px;z-index:-1}";
4776
- const PostTooltipStyle0 = postTooltipCss;
4777
-
4778
- const OPEN_DELAY = 650; // matches HTML title delay
4779
- /**
4780
- * @slot default - Slot for the content of the tooltip.
4781
- */
4782
- /**
4783
- * Track how many instances remain on the page. Used for removing global event listeners
4784
- */
4785
- let tooltipInstances = 0;
4786
- let hideTooltipTimeout = null;
4787
- const tooltipTargetAttribute = 'data-tooltip-target';
4788
- const tooltipTargetAttributeSelector = `[${tooltipTargetAttribute}]`;
4789
- let globalCurrentTarget;
4790
- let tooltipTimeout = null;
4791
- /**
4792
- * Global event listener to show tooltips. This is globalized so that triggers that are rendered
4793
- * async will still work without the need to set listeners on the element itself
4794
- *
4795
- * This handler manages both pointer and focus events to properly trigger tooltips.
4796
- * If the event is a focus event (e.g., keyboard navigation), pointer events are ignored to avoid
4797
- * interference with tooltip behavior.
4798
- * @param e Event
4799
- * @returns
4800
- */
4801
- const globalInterestHandler = (e) => {
4802
- const targetElement = e.target.closest(tooltipTargetAttributeSelector);
4803
- globalCurrentTarget = targetElement;
4804
- if (!targetElement || !('getAttribute' in targetElement)) {
4805
- clearTimeout(tooltipTimeout);
4806
- return;
4807
- }
4808
- const tooltipTarget = targetElement.getAttribute(tooltipTargetAttribute);
4809
- if (!tooltipTarget || tooltipTarget === '')
4810
- return;
4811
- const tooltip = document.getElementById(tooltipTarget);
4812
- // Determine if the tooltip was triggered by a focus event
4813
- const triggeredByFocus = e.type === 'focusin';
4814
- void (tooltip === null || tooltip === void 0 ? void 0 : tooltip.show(targetElement, triggeredByFocus));
4815
- if (hideTooltipTimeout) {
4816
- window.clearTimeout(hideTooltipTimeout);
4817
- hideTooltipTimeout = null;
4593
+ else {
4594
+ console.warn('No content found in the post-tooltip-trigger slot. Please insert a focusable element or content that can receive focus.');
4595
+ }
4818
4596
  }
4819
- };
4820
- /**
4821
- * Global event listener to hide tooltips. This is globalized so that triggers that are rendered
4822
- * async will still work without the need to set listeners on the element itself
4823
- * @param e Event
4824
- * @returns
4825
- */
4826
- const globalInterestLostHandler = (e) => {
4827
- const targetElement = e.target.closest(tooltipTargetAttributeSelector);
4828
- if (!targetElement || !('getAttribute' in targetElement))
4829
- return;
4830
- const tooltipTarget = targetElement.getAttribute(tooltipTargetAttribute);
4831
- if (!tooltipTarget || tooltipTarget === '')
4832
- return;
4833
- const tooltip = document.getElementById(tooltipTarget);
4834
- globalHideTooltip(tooltip);
4835
- };
4836
- /**
4837
- * Start the hiding process through a timeout to give other interest events a chance to
4838
- * intervene and cancel the hide event.
4839
- * @param {HTMLPostTooltipElement} tooltip
4840
- */
4841
- const globalHideTooltip = (tooltip) => {
4842
- hideTooltipTimeout = window.setTimeout(() => {
4843
- tooltip.hide();
4844
- hideTooltipTimeout = null;
4845
- }, 42);
4846
- };
4847
- /**
4848
- * Patch some accessibility features that are hard to remember or understand
4849
- * @param {HTMLElement} trigger
4850
- */
4851
- const patchAccessibilityFeatures = (trigger) => {
4852
- const describedBy = trigger.getAttribute('aria-describedby');
4853
- const id = trigger.getAttribute(tooltipTargetAttribute);
4854
- // Add tooltip to aria-describedby
4855
- if (!(describedBy === null || describedBy === void 0 ? void 0 : describedBy.includes(id))) {
4856
- const newDescribedBy = describedBy ? `${describedBy} ${id}` : id;
4857
- trigger.setAttribute('aria-describedby', newDescribedBy);
4597
+ attachListeners() {
4598
+ TRIGGER_EVENTS.forEach(event => {
4599
+ this.host.addEventListener(event, this.boundTriggerHandler);
4600
+ });
4858
4601
  }
4859
- // Make element focusable
4860
- if (!isFocusable(trigger)) {
4861
- trigger.setAttribute('tabindex', '0');
4602
+ removeListeners() {
4603
+ TRIGGER_EVENTS.forEach(event => {
4604
+ this.host.removeEventListener(event, this.boundTriggerHandler);
4605
+ });
4862
4606
  }
4863
- };
4864
- // Initialize a mutation observer for patching accessibility features
4865
- const triggerObserver = getAttributeObserver(tooltipTargetAttribute, patchAccessibilityFeatures);
4866
- const PostTooltip = class {
4867
- constructor(hostRef) {
4868
- registerInstance(this, hostRef);
4869
- this.wasOpenedByFocus = false;
4870
- this.placement = 'top';
4871
- this.arrow = true;
4872
- this.delayed = false;
4607
+ attachTooltipListeners() {
4608
+ if (this.tooltip) {
4609
+ this.tooltip.addEventListener('pointerenter', this.boundTooltipHandler);
4610
+ this.tooltip.addEventListener('pointerleave', this.boundTooltipHandler);
4611
+ }
4873
4612
  }
4874
- validateDelayed() {
4875
- checkEmptyOrType(this.delayed, 'boolean', 'The post-tooltip "delayed" property should be a boolean.');
4613
+ removeTooltipListeners() {
4614
+ if (this.tooltip) {
4615
+ this.tooltip.removeEventListener('pointerenter', this.boundTooltipHandler);
4616
+ this.tooltip.removeEventListener('pointerleave', this.boundTooltipHandler);
4617
+ }
4876
4618
  }
4877
- connectedCallback() {
4878
- this.validateDelayed();
4619
+ handleTriggerEvent(event) {
4620
+ switch (event.type) {
4621
+ case 'pointerenter':
4622
+ case 'focusin':
4623
+ case 'long-press':
4624
+ this.handleEnter();
4625
+ break;
4626
+ case 'pointerleave':
4627
+ case 'focusout':
4628
+ this.handleLeave(event);
4629
+ break;
4630
+ }
4879
4631
  }
4880
- componentDidLoad() {
4881
- if (!this.host.id) {
4882
- throw new Error(
4883
- /*prettier-ignore*/
4884
- 'No id set: <post-tooltip> must have an id, linking it to it\'s target element using the data-tooltip-target attribute.');
4632
+ handleTooltipEvent(event) {
4633
+ switch (event.type) {
4634
+ case 'pointerenter':
4635
+ this.handleEnter();
4636
+ break;
4637
+ case 'pointerleave':
4638
+ this.handleLeave(event);
4639
+ break;
4885
4640
  }
4886
4641
  }
4887
- /**
4888
- * Add interest event listeners, but only once, and start
4889
- * the accessibility patcher
4890
- */
4891
- componentWillLoad() {
4892
- if (tooltipInstances === 0) {
4893
- // This is the first tooltip on the page, add event listeners
4894
- document.addEventListener('pointerover', globalInterestHandler);
4895
- document.addEventListener('pointerout', globalInterestLostHandler);
4896
- document.addEventListener('focusin', globalInterestHandler);
4897
- document.addEventListener('focusout', globalInterestLostHandler);
4898
- document.addEventListener('long-press', globalInterestHandler);
4899
- // Initially run the accessibility patcher on all triggers
4900
- document.querySelectorAll('[data-tooltip-target]').forEach(patchAccessibilityFeatures);
4901
- // Start watching for future triggers
4902
- triggerObserver.observe(document.body, {
4903
- subtree: true,
4904
- childList: true,
4905
- attributeFilter: [tooltipTargetAttribute],
4906
- });
4642
+ handleEnter() {
4643
+ if (this.delayTimeout) {
4644
+ clearTimeout(this.delayTimeout);
4645
+ this.delayTimeout = null;
4907
4646
  }
4908
- tooltipInstances++;
4647
+ this.interestHandler();
4909
4648
  }
4910
- /**
4911
- * Remove a bunch of event listeners if the tooltip gets removed from the DOM
4912
- * and disconnect the accessibility patcher
4913
- */
4914
- disconnectedCallback() {
4915
- tooltipInstances--;
4916
- if (tooltipInstances <= 0) {
4917
- // The last tooltip has been removed, stop listening for these kind of events
4918
- document.removeEventListener('pointerover', globalInterestHandler);
4919
- document.removeEventListener('pointerout', globalInterestLostHandler);
4920
- document.removeEventListener('focusin', globalInterestHandler);
4921
- document.removeEventListener('focusout', globalInterestLostHandler);
4922
- document.removeEventListener('long-press', globalInterestHandler);
4923
- triggerObserver.disconnect();
4649
+ handleLeave(event) {
4650
+ const newTarget = event.relatedTarget;
4651
+ if ((this.tooltip && newTarget && this.tooltip.contains(newTarget)) ||
4652
+ (newTarget === this.trigger)) {
4653
+ return;
4924
4654
  }
4655
+ this.interestLostHandler();
4925
4656
  }
4926
- /**
4927
- * Programmatically display the tooltip
4928
- * @param target An element with [data-tooltip-target="id"] where the tooltip should be shown
4929
- * @param triggeredByFocus A boolean indicating if the tooltip was triggered by a focus event.
4930
- */
4931
- async show(target, triggeredByFocus = false) {
4932
- const showTooltip = () => {
4933
- // If focus or pointer event is not on the button anymore, don't show the tooltip
4934
- if (globalCurrentTarget !== target)
4935
- return;
4936
- // Determine if the tooltip was opened by a focus event
4937
- this.wasOpenedByFocus = triggeredByFocus;
4938
- // Disable pointer events if triggered by focus, otherwise enable them
4939
- if (this.wasOpenedByFocus) {
4940
- this.host.style.pointerEvents = 'none';
4941
- }
4942
- else {
4943
- this.host.style.pointerEvents = 'auto';
4944
- }
4945
- this.popoverRef.show(target);
4946
- };
4947
- if (this.delayed) {
4948
- tooltipTimeout = setTimeout(() => {
4949
- showTooltip();
4950
- }, OPEN_DELAY);
4657
+ interestHandler() {
4658
+ if (this.delay > 0) {
4659
+ this.delayTimeout = window.setTimeout(() => {
4660
+ this.tooltip?.show(this.trigger);
4661
+ this.delayTimeout = null;
4662
+ }, this.delay);
4951
4663
  }
4952
4664
  else {
4953
- showTooltip();
4665
+ this.tooltip?.show(this.trigger);
4954
4666
  }
4955
4667
  }
4956
- /**
4957
- * Programmatically hide this tooltip
4958
- */
4959
- async hide() {
4960
- this.popoverRef.hide();
4961
- }
4962
- /**
4963
- * Toggle tooltip display
4964
- * @param target An element with [data-tooltip-target="id"] where the tooltip should be shown
4965
- * @param force Pass true to always show or false to always hide
4966
- */
4967
- async toggle(target, force) {
4968
- this.popoverRef.toggle(target, force);
4969
- }
4970
- /**
4971
- * Pointer or focus is on the tooltip, stop the tooltip from disappearing
4972
- */
4973
- handleInterest() {
4974
- if (hideTooltipTimeout) {
4975
- window.clearTimeout(hideTooltipTimeout);
4976
- hideTooltipTimeout = null;
4668
+ interestLostHandler() {
4669
+ if (this.delayTimeout) {
4670
+ clearTimeout(this.delayTimeout);
4671
+ this.delayTimeout = null;
4977
4672
  }
4978
- }
4979
- /**
4980
- * Pointer or focus left the tooltip, initiate the hiding process
4981
- * Re-enable pointer events when the tooltip is no longer in focus or hovered
4982
- */
4983
- handleInterestLost() {
4984
- globalHideTooltip(this);
4985
- this.host.style.pointerEvents = 'auto';
4673
+ this.tooltip?.hide();
4986
4674
  }
4987
4675
  render() {
4988
- const popoverClass = `${this.arrow ? ' has-arrow' : ''}`;
4989
- return (h(Host, { key: '71db1ccf3cf929d76550b08e69c8594479eaa84f', "data-version": version$1, 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' }))));
4676
+ return (h(Host, { key: '4e4b53e85570d6dbba4ee7833a1d3de00e53dbc6', "data-version": version$1 }, h("slot", { key: 'f8f5ea2e2ce848d654e233617455bbbbdc6ba5b1', onSlotchange: () => this.handleSlotChange() })));
4990
4677
  }
4991
4678
  get host() { return getElement(this); }
4992
4679
  static get watchers() { return {
4993
- "delayed": ["validateDelayed"]
4680
+ "for": ["validateControlFor"]
4994
4681
  }; }
4995
4682
  };
4996
- PostTooltip.style = PostTooltipStyle0;
4683
+ PostTooltipTrigger.style = PostTooltipTriggerStyle0;
4997
4684
 
4998
- export { PostTooltip as P };
4685
+ export { PostTooltipTrigger as P };
@@ -0,0 +1,5 @@
1
+ export { P as post_tooltip_trigger } from './post-tooltip-trigger-7d6f234b.js';
2
+ import './index-f4d19816.js';
3
+ import './breakpoints-7812702e.js';
4
+ import './check-type-37d5d307.js';
5
+ import './package-d9237b44.js';
@@ -1,9 +1,5 @@
1
- export { P as post_tooltip } from './post-tooltip-b298039a.js';
2
- import './index-fb8d6be7.js';
3
- import './package-4d81f3c2.js';
4
- import './attribute-observer-37fa950a.js';
5
- import './index-b49c9904.js';
6
- import './constants-8d548297.js';
7
- import './check-one-of-6b3ef8eb.js';
8
- import './check-type-8828dbe4.js';
9
- import './check-url-a974431e.js';
1
+ export { P as post_tooltip } from './post-tooltip-9a195d47.js';
2
+ import './index-f4d19816.js';
3
+ import './package-d9237b44.js';
4
+ import './check-type-37d5d307.js';
5
+ import './breakpoints-7812702e.js';