@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,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- const index = require('./index-010dc207.js');
4
- const _package = require('./package-8e810a59.js');
5
- const attributeObserver = require('./attribute-observer-10f08c04.js');
6
- const index$1 = require('./index-5d4e0aed.js');
3
+ const index = require('./index-b60129c4.js');
4
+ const breakpoints = require('./breakpoints-cdf1b747.js');
5
+ const checkType = require('./check-type-cdbf6d29.js');
6
+ const _package = require('./package-8121f093.js');
7
7
 
8
8
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
9
9
 
@@ -4509,492 +4509,179 @@ module.exports = exports['default'];
4509
4509
 
4510
4510
  const isFocusable = /*@__PURE__*/getDefaultExportFromCjs(focusable.exports);
4511
4511
 
4512
- /*!
4513
- * long-press-event - v@version@
4514
- * Pure JavaScript long-press-event
4515
- * https://github.com/john-doherty/long-press-event
4516
- * @author John Doherty <www.johndoherty.info>
4517
- * @license MIT
4518
- */
4519
- (function (window, document) {
4520
-
4521
- // local timer object based on rAF
4522
- var timer = null;
4523
-
4524
- // check if we're using a touch screen
4525
- var hasPointerEvents = (('PointerEvent' in window) || (window.navigator && 'msPointerEnabled' in window.navigator));
4526
- var isTouch = (('ontouchstart' in window) || (navigator.MaxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0));
4527
-
4528
- // switch to pointer events or touch events if using a touch screen
4529
- var mouseDown = hasPointerEvents ? 'pointerdown' : isTouch ? 'touchstart' : 'mousedown';
4530
- var mouseUp = hasPointerEvents ? 'pointerup' : isTouch ? 'touchend' : 'mouseup';
4531
- var mouseMove = hasPointerEvents ? 'pointermove' : isTouch ? 'touchmove' : 'mousemove';
4532
- var mouseLeave = hasPointerEvents ? 'pointerleave' : isTouch ? 'touchleave' : 'mouseleave';
4533
-
4534
- // track number of pixels the mouse moves during long press
4535
- var startX = 0; // mouse x position when timer started
4536
- var startY = 0; // mouse y position when timer started
4537
- var maxDiffX = 10; // max number of X pixels the mouse can move during long press before it is canceled
4538
- var maxDiffY = 10; // max number of Y pixels the mouse can move during long press before it is canceled
4539
-
4540
- // patch CustomEvent to allow constructor creation (IE/Chrome)
4541
- if (typeof window.CustomEvent !== 'function') {
4542
-
4543
- window.CustomEvent = function (event, params) {
4544
-
4545
- params = params || { bubbles: false, cancelable: false, detail: undefined };
4546
-
4547
- var evt = document.createEvent('CustomEvent');
4548
- evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);
4549
- return evt;
4550
- };
4551
-
4552
- window.CustomEvent.prototype = window.Event.prototype;
4553
- }
4512
+ const postTooltipTriggerCss = "post-tooltip-trigger{vertical-align:top}";
4513
+ const PostTooltipTriggerStyle0 = postTooltipTriggerCss;
4554
4514
 
4555
- // requestAnimationFrame() shim by Paul Irish
4556
- window.requestAnimFrame = (function () {
4557
- return window.requestAnimationFrame ||
4558
- window.webkitRequestAnimationFrame ||
4559
- window.mozRequestAnimationFrame ||
4560
- window.oRequestAnimationFrame ||
4561
- window.msRequestAnimationFrame || function (callback) {
4562
- window.setTimeout(callback, 1000 / 60);
4563
- };
4515
+ const TRIGGER_EVENTS = ['pointerenter', 'pointerleave', 'focusin', 'focusout', 'long-press'];
4516
+ if (breakpoints.IS_BROWSER) {
4517
+ (async () => {
4518
+ await Promise.resolve().then(function () { return require('./long-press-event-6e62d113.js'); });
4564
4519
  })();
4565
-
4566
- /**
4567
- * Behaves the same as setTimeout except uses requestAnimationFrame() where possible for better performance
4568
- * @param {function} fn The callback function
4569
- * @param {int} delay The delay in milliseconds
4570
- * @returns {object} handle to the timeout object
4571
- */
4572
- function requestTimeout(fn, delay) {
4573
-
4574
- if (!window.requestAnimationFrame && !window.webkitRequestAnimationFrame &&
4575
- !(window.mozRequestAnimationFrame && window.mozCancelRequestAnimationFrame) && // Firefox 5 ships without cancel support
4576
- !window.oRequestAnimationFrame && !window.msRequestAnimationFrame) return window.setTimeout(fn, delay);
4577
-
4578
- var start = new Date().getTime();
4579
- var handle = {};
4580
-
4581
- var loop = function () {
4582
- var current = new Date().getTime();
4583
- var delta = current - start;
4584
-
4585
- if (delta >= delay) {
4586
- fn.call();
4587
- }
4588
- else {
4589
- handle.value = requestAnimFrame(loop);
4590
- }
4591
- };
4592
-
4593
- handle.value = requestAnimFrame(loop);
4594
-
4595
- return handle;
4596
- }
4597
-
4598
- /**
4599
- * Behaves the same as clearTimeout except uses cancelRequestAnimationFrame() where possible for better performance
4600
- * @param {object} handle The callback function
4601
- * @returns {void}
4602
- */
4603
- function clearRequestTimeout(handle) {
4604
- if (handle) {
4605
- window.cancelAnimationFrame ? window.cancelAnimationFrame(handle.value) :
4606
- window.webkitCancelAnimationFrame ? window.webkitCancelAnimationFrame(handle.value) :
4607
- window.webkitCancelRequestAnimationFrame ? window.webkitCancelRequestAnimationFrame(handle.value) : /* Support for legacy API */
4608
- window.mozCancelRequestAnimationFrame ? window.mozCancelRequestAnimationFrame(handle.value) :
4609
- window.oCancelRequestAnimationFrame ? window.oCancelRequestAnimationFrame(handle.value) :
4610
- window.msCancelRequestAnimationFrame ? window.msCancelRequestAnimationFrame(handle.value) :
4611
- clearTimeout(handle);
4612
- }
4520
+ }
4521
+ const PostTooltipTrigger = class {
4522
+ constructor(hostRef) {
4523
+ index.registerInstance(this, hostRef);
4524
+ /**
4525
+ * Reference to the element inside the host that will act as the trigger.
4526
+ */
4527
+ this.trigger = null;
4528
+ /**
4529
+ * Timeout ID for the delay.
4530
+ */
4531
+ this.delayTimeout = null;
4532
+ this.for = undefined;
4533
+ this.delay = 0;
4534
+ this.boundTriggerHandler = this.handleTriggerEvent.bind(this);
4535
+ this.boundTooltipHandler = this.handleTooltipEvent.bind(this);
4613
4536
  }
4614
-
4615
- /**
4616
- * Fires the 'long-press' event on element
4617
- * @param {MouseEvent|PointerEvent|TouchEvent} originalEvent The original event being fired
4618
- * @returns {void}
4619
- */
4620
- function fireLongPressEvent(originalEvent) {
4621
-
4622
- clearLongPressTimer();
4623
-
4624
- originalEvent = unifyEvent(originalEvent);
4625
-
4626
- // fire the long-press event
4627
- var allowClickEvent = this.dispatchEvent(new CustomEvent('long-press', {
4628
- bubbles: true,
4629
- cancelable: true,
4630
-
4631
- // custom event data (legacy)
4632
- detail: {
4633
- clientX: originalEvent.clientX,
4634
- clientY: originalEvent.clientY,
4635
- offsetX: originalEvent.offsetX,
4636
- offsetY: originalEvent.offsetY,
4637
- pageX: originalEvent.pageX,
4638
- pageY: originalEvent.pageY
4639
- },
4640
-
4641
- // add coordinate data that would typically acompany a touch/click event
4642
- clientX: originalEvent.clientX,
4643
- clientY: originalEvent.clientY,
4644
- offsetX: originalEvent.offsetX,
4645
- offsetY: originalEvent.offsetY,
4646
- pageX: originalEvent.pageX,
4647
- pageY: originalEvent.pageY,
4648
- screenX: originalEvent.screenX,
4649
- screenY: originalEvent.screenY
4650
- }));
4651
-
4652
- if (!allowClickEvent) {
4653
- // suppress the next click event if e.preventDefault() was called in long-press handler
4654
- document.addEventListener('click', function suppressEvent(e) {
4655
- document.removeEventListener('click', suppressEvent, true);
4656
- cancelEvent(e);
4657
- }, true);
4658
- }
4537
+ validateControlFor() {
4538
+ checkType.checkType(this, 'for', 'string');
4659
4539
  }
4660
-
4661
- /**
4662
- * consolidates mouse, touch, and Pointer events
4663
- * @param {MouseEvent|PointerEvent|TouchEvent} e The original event being fired
4664
- * @returns {MouseEvent|PointerEvent|Touch}
4665
- */
4666
- function unifyEvent(e) {
4667
- if (e.changedTouches !== undefined) {
4668
- return e.changedTouches[0];
4669
- }
4670
- return e;
4540
+ get tooltip() {
4541
+ if (!breakpoints.IS_BROWSER)
4542
+ return null;
4543
+ const ref = document.getElementById(this.for);
4544
+ return ref?.localName === 'post-tooltip'
4545
+ ? ref
4546
+ : null;
4671
4547
  }
4672
-
4673
- /**
4674
- * method responsible for starting the long press timer
4675
- * @param {event} e - event object
4676
- * @returns {void}
4677
- */
4678
- function startLongPressTimer(e) {
4679
-
4680
- clearLongPressTimer();
4681
-
4682
- var el = e.target;
4683
-
4684
- // get delay from html attribute if it exists, otherwise default to 1500
4685
- var longPressDelayInMs = parseInt(getNearestAttribute(el, 'data-long-press-delay', '1500'), 10); // default 1500
4686
-
4687
- // start the timer
4688
- timer = requestTimeout(fireLongPressEvent.bind(el, e), longPressDelayInMs);
4689
- }
4690
-
4691
- /**
4692
- * method responsible for clearing a pending long press timer
4693
- * @param {event} e - event object
4694
- * @returns {void}
4695
- */
4696
- function clearLongPressTimer(e) {
4697
- clearRequestTimeout(timer);
4698
- timer = null;
4548
+ componentDidLoad() {
4549
+ this.setupTrigger();
4550
+ this.attachListeners();
4551
+ this.attachTooltipListeners();
4699
4552
  }
4700
-
4701
- /**
4702
- * Cancels the current event
4703
- * @param {object} e - browser event object
4704
- * @returns {void}
4705
- */
4706
- function cancelEvent(e) {
4707
- e.stopImmediatePropagation();
4708
- e.preventDefault();
4709
- e.stopPropagation();
4553
+ disconnectedCallback() {
4554
+ this.removeListeners();
4555
+ this.removeTooltipListeners();
4556
+ this.cleanupTrigger();
4557
+ if (this.delayTimeout) {
4558
+ clearTimeout(this.delayTimeout);
4559
+ this.delayTimeout = null;
4560
+ }
4710
4561
  }
4711
-
4712
- /**
4713
- * Starts the timer on mouse down and logs current position
4714
- * @param {object} e - browser event object
4715
- * @returns {void}
4716
- */
4717
- function mouseDownHandler(e) {
4718
- startX = e.clientX;
4719
- startY = e.clientY;
4720
- startLongPressTimer(e);
4562
+ handleSlotChange() {
4563
+ this.cleanupTrigger();
4564
+ this.setupTrigger();
4721
4565
  }
4722
-
4723
- /**
4724
- * If the mouse moves n pixels during long-press, cancel the timer
4725
- * @param {object} e - browser event object
4726
- * @returns {void}
4727
- */
4728
- function mouseMoveHandler(e) {
4729
-
4730
- // calculate total number of pixels the pointer has moved
4731
- var diffX = Math.abs(startX - e.clientX);
4732
- var diffY = Math.abs(startY - e.clientY);
4733
-
4734
- // if pointer has moved more than allowed, cancel the long-press timer and therefore the event
4735
- if (diffX >= maxDiffX || diffY >= maxDiffY) {
4736
- clearLongPressTimer();
4566
+ cleanupTrigger() {
4567
+ if (this.trigger) {
4568
+ const describedBy = this.trigger.getAttribute('aria-describedby') || '';
4569
+ if (describedBy.includes(this.for)) {
4570
+ const newDescribedBy = describedBy
4571
+ .split(' ')
4572
+ .filter(id => id !== this.for)
4573
+ .join(' ');
4574
+ if (newDescribedBy) {
4575
+ this.trigger.setAttribute('aria-describedby', newDescribedBy);
4576
+ }
4577
+ else {
4578
+ this.trigger.removeAttribute('aria-describedby');
4579
+ }
4580
+ }
4581
+ this.trigger = null;
4737
4582
  }
4738
4583
  }
4739
-
4740
- /**
4741
- * Gets attribute off HTML element or nearest parent
4742
- * @param {object} el - HTML element to retrieve attribute from
4743
- * @param {string} attributeName - name of the attribute
4744
- * @param {any} defaultValue - default value to return if no match found
4745
- * @returns {any} attribute value or defaultValue
4746
- */
4747
- function getNearestAttribute(el, attributeName, defaultValue) {
4748
-
4749
- // walk up the dom tree looking for data-action and data-trigger
4750
- while (el && el !== document.documentElement) {
4751
-
4752
- var attributeValue = el.getAttribute(attributeName);
4753
-
4754
- if (attributeValue) {
4755
- return attributeValue;
4584
+ setupTrigger() {
4585
+ this.trigger = this.host.querySelector('*');
4586
+ if (this.trigger) {
4587
+ if (!isFocusable(this.trigger)) {
4588
+ this.trigger.setAttribute('tabindex', '0');
4589
+ }
4590
+ const describedBy = this.trigger.getAttribute('aria-describedby') || '';
4591
+ if (!describedBy.includes(this.for)) {
4592
+ this.trigger.setAttribute('aria-describedby', `${describedBy} ${this.for}`.trim());
4756
4593
  }
4757
-
4758
- el = el.parentNode;
4759
4594
  }
4760
-
4761
- return defaultValue;
4762
- }
4763
-
4764
- // hook events that clear a pending long press event
4765
- document.addEventListener(mouseUp, clearLongPressTimer, true);
4766
- document.addEventListener(mouseLeave, clearLongPressTimer, true);
4767
- document.addEventListener(mouseMove, mouseMoveHandler, true);
4768
- document.addEventListener('wheel', clearLongPressTimer, true);
4769
- document.addEventListener('scroll', clearLongPressTimer, true);
4770
- document.addEventListener('contextmenu', clearLongPressTimer, true);
4771
-
4772
- // hook events that can trigger a long press event
4773
- document.addEventListener(mouseDown, mouseDownHandler, true); // <- start
4774
-
4775
- }(window, document));
4776
-
4777
- 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}";
4778
- const PostTooltipStyle0 = postTooltipCss;
4779
-
4780
- const OPEN_DELAY = 650; // matches HTML title delay
4781
- /**
4782
- * @slot default - Slot for the content of the tooltip.
4783
- */
4784
- /**
4785
- * Track how many instances remain on the page. Used for removing global event listeners
4786
- */
4787
- let tooltipInstances = 0;
4788
- let hideTooltipTimeout = null;
4789
- const tooltipTargetAttribute = 'data-tooltip-target';
4790
- const tooltipTargetAttributeSelector = `[${tooltipTargetAttribute}]`;
4791
- let globalCurrentTarget;
4792
- let tooltipTimeout = null;
4793
- /**
4794
- * Global event listener to show tooltips. This is globalized so that triggers that are rendered
4795
- * async will still work without the need to set listeners on the element itself
4796
- *
4797
- * This handler manages both pointer and focus events to properly trigger tooltips.
4798
- * If the event is a focus event (e.g., keyboard navigation), pointer events are ignored to avoid
4799
- * interference with tooltip behavior.
4800
- * @param e Event
4801
- * @returns
4802
- */
4803
- const globalInterestHandler = (e) => {
4804
- const targetElement = e.target.closest(tooltipTargetAttributeSelector);
4805
- globalCurrentTarget = targetElement;
4806
- if (!targetElement || !('getAttribute' in targetElement)) {
4807
- clearTimeout(tooltipTimeout);
4808
- return;
4809
- }
4810
- const tooltipTarget = targetElement.getAttribute(tooltipTargetAttribute);
4811
- if (!tooltipTarget || tooltipTarget === '')
4812
- return;
4813
- const tooltip = document.getElementById(tooltipTarget);
4814
- // Determine if the tooltip was triggered by a focus event
4815
- const triggeredByFocus = e.type === 'focusin';
4816
- void (tooltip === null || tooltip === void 0 ? void 0 : tooltip.show(targetElement, triggeredByFocus));
4817
- if (hideTooltipTimeout) {
4818
- window.clearTimeout(hideTooltipTimeout);
4819
- hideTooltipTimeout = null;
4595
+ else {
4596
+ console.warn('No content found in the post-tooltip-trigger slot. Please insert a focusable element or content that can receive focus.');
4597
+ }
4820
4598
  }
4821
- };
4822
- /**
4823
- * Global event listener to hide tooltips. This is globalized so that triggers that are rendered
4824
- * async will still work without the need to set listeners on the element itself
4825
- * @param e Event
4826
- * @returns
4827
- */
4828
- const globalInterestLostHandler = (e) => {
4829
- const targetElement = e.target.closest(tooltipTargetAttributeSelector);
4830
- if (!targetElement || !('getAttribute' in targetElement))
4831
- return;
4832
- const tooltipTarget = targetElement.getAttribute(tooltipTargetAttribute);
4833
- if (!tooltipTarget || tooltipTarget === '')
4834
- return;
4835
- const tooltip = document.getElementById(tooltipTarget);
4836
- globalHideTooltip(tooltip);
4837
- };
4838
- /**
4839
- * Start the hiding process through a timeout to give other interest events a chance to
4840
- * intervene and cancel the hide event.
4841
- * @param {HTMLPostTooltipElement} tooltip
4842
- */
4843
- const globalHideTooltip = (tooltip) => {
4844
- hideTooltipTimeout = window.setTimeout(() => {
4845
- tooltip.hide();
4846
- hideTooltipTimeout = null;
4847
- }, 42);
4848
- };
4849
- /**
4850
- * Patch some accessibility features that are hard to remember or understand
4851
- * @param {HTMLElement} trigger
4852
- */
4853
- const patchAccessibilityFeatures = (trigger) => {
4854
- const describedBy = trigger.getAttribute('aria-describedby');
4855
- const id = trigger.getAttribute(tooltipTargetAttribute);
4856
- // Add tooltip to aria-describedby
4857
- if (!(describedBy === null || describedBy === void 0 ? void 0 : describedBy.includes(id))) {
4858
- const newDescribedBy = describedBy ? `${describedBy} ${id}` : id;
4859
- trigger.setAttribute('aria-describedby', newDescribedBy);
4599
+ attachListeners() {
4600
+ TRIGGER_EVENTS.forEach(event => {
4601
+ this.host.addEventListener(event, this.boundTriggerHandler);
4602
+ });
4860
4603
  }
4861
- // Make element focusable
4862
- if (!isFocusable(trigger)) {
4863
- trigger.setAttribute('tabindex', '0');
4604
+ removeListeners() {
4605
+ TRIGGER_EVENTS.forEach(event => {
4606
+ this.host.removeEventListener(event, this.boundTriggerHandler);
4607
+ });
4864
4608
  }
4865
- };
4866
- // Initialize a mutation observer for patching accessibility features
4867
- const triggerObserver = attributeObserver.getAttributeObserver(tooltipTargetAttribute, patchAccessibilityFeatures);
4868
- const PostTooltip = class {
4869
- constructor(hostRef) {
4870
- index.registerInstance(this, hostRef);
4871
- this.wasOpenedByFocus = false;
4872
- this.placement = 'top';
4873
- this.arrow = true;
4874
- this.delayed = false;
4609
+ attachTooltipListeners() {
4610
+ if (this.tooltip) {
4611
+ this.tooltip.addEventListener('pointerenter', this.boundTooltipHandler);
4612
+ this.tooltip.addEventListener('pointerleave', this.boundTooltipHandler);
4613
+ }
4875
4614
  }
4876
- validateDelayed() {
4877
- index$1.checkEmptyOrType(this.delayed, 'boolean', 'The post-tooltip "delayed" property should be a boolean.');
4615
+ removeTooltipListeners() {
4616
+ if (this.tooltip) {
4617
+ this.tooltip.removeEventListener('pointerenter', this.boundTooltipHandler);
4618
+ this.tooltip.removeEventListener('pointerleave', this.boundTooltipHandler);
4619
+ }
4878
4620
  }
4879
- connectedCallback() {
4880
- this.validateDelayed();
4621
+ handleTriggerEvent(event) {
4622
+ switch (event.type) {
4623
+ case 'pointerenter':
4624
+ case 'focusin':
4625
+ case 'long-press':
4626
+ this.handleEnter();
4627
+ break;
4628
+ case 'pointerleave':
4629
+ case 'focusout':
4630
+ this.handleLeave(event);
4631
+ break;
4632
+ }
4881
4633
  }
4882
- componentDidLoad() {
4883
- if (!this.host.id) {
4884
- throw new Error(
4885
- /*prettier-ignore*/
4886
- 'No id set: <post-tooltip> must have an id, linking it to it\'s target element using the data-tooltip-target attribute.');
4634
+ handleTooltipEvent(event) {
4635
+ switch (event.type) {
4636
+ case 'pointerenter':
4637
+ this.handleEnter();
4638
+ break;
4639
+ case 'pointerleave':
4640
+ this.handleLeave(event);
4641
+ break;
4887
4642
  }
4888
4643
  }
4889
- /**
4890
- * Add interest event listeners, but only once, and start
4891
- * the accessibility patcher
4892
- */
4893
- componentWillLoad() {
4894
- if (tooltipInstances === 0) {
4895
- // This is the first tooltip on the page, add event listeners
4896
- document.addEventListener('pointerover', globalInterestHandler);
4897
- document.addEventListener('pointerout', globalInterestLostHandler);
4898
- document.addEventListener('focusin', globalInterestHandler);
4899
- document.addEventListener('focusout', globalInterestLostHandler);
4900
- document.addEventListener('long-press', globalInterestHandler);
4901
- // Initially run the accessibility patcher on all triggers
4902
- document.querySelectorAll('[data-tooltip-target]').forEach(patchAccessibilityFeatures);
4903
- // Start watching for future triggers
4904
- triggerObserver.observe(document.body, {
4905
- subtree: true,
4906
- childList: true,
4907
- attributeFilter: [tooltipTargetAttribute],
4908
- });
4644
+ handleEnter() {
4645
+ if (this.delayTimeout) {
4646
+ clearTimeout(this.delayTimeout);
4647
+ this.delayTimeout = null;
4909
4648
  }
4910
- tooltipInstances++;
4649
+ this.interestHandler();
4911
4650
  }
4912
- /**
4913
- * Remove a bunch of event listeners if the tooltip gets removed from the DOM
4914
- * and disconnect the accessibility patcher
4915
- */
4916
- disconnectedCallback() {
4917
- tooltipInstances--;
4918
- if (tooltipInstances <= 0) {
4919
- // The last tooltip has been removed, stop listening for these kind of events
4920
- document.removeEventListener('pointerover', globalInterestHandler);
4921
- document.removeEventListener('pointerout', globalInterestLostHandler);
4922
- document.removeEventListener('focusin', globalInterestHandler);
4923
- document.removeEventListener('focusout', globalInterestLostHandler);
4924
- document.removeEventListener('long-press', globalInterestHandler);
4925
- triggerObserver.disconnect();
4651
+ handleLeave(event) {
4652
+ const newTarget = event.relatedTarget;
4653
+ if ((this.tooltip && newTarget && this.tooltip.contains(newTarget)) ||
4654
+ (newTarget === this.trigger)) {
4655
+ return;
4926
4656
  }
4657
+ this.interestLostHandler();
4927
4658
  }
4928
- /**
4929
- * Programmatically display the tooltip
4930
- * @param target An element with [data-tooltip-target="id"] where the tooltip should be shown
4931
- * @param triggeredByFocus A boolean indicating if the tooltip was triggered by a focus event.
4932
- */
4933
- async show(target, triggeredByFocus = false) {
4934
- const showTooltip = () => {
4935
- // If focus or pointer event is not on the button anymore, don't show the tooltip
4936
- if (globalCurrentTarget !== target)
4937
- return;
4938
- // Determine if the tooltip was opened by a focus event
4939
- this.wasOpenedByFocus = triggeredByFocus;
4940
- // Disable pointer events if triggered by focus, otherwise enable them
4941
- if (this.wasOpenedByFocus) {
4942
- this.host.style.pointerEvents = 'none';
4943
- }
4944
- else {
4945
- this.host.style.pointerEvents = 'auto';
4946
- }
4947
- this.popoverRef.show(target);
4948
- };
4949
- if (this.delayed) {
4950
- tooltipTimeout = setTimeout(() => {
4951
- showTooltip();
4952
- }, OPEN_DELAY);
4659
+ interestHandler() {
4660
+ if (this.delay > 0) {
4661
+ this.delayTimeout = window.setTimeout(() => {
4662
+ this.tooltip?.show(this.trigger);
4663
+ this.delayTimeout = null;
4664
+ }, this.delay);
4953
4665
  }
4954
4666
  else {
4955
- showTooltip();
4667
+ this.tooltip?.show(this.trigger);
4956
4668
  }
4957
4669
  }
4958
- /**
4959
- * Programmatically hide this tooltip
4960
- */
4961
- async hide() {
4962
- this.popoverRef.hide();
4963
- }
4964
- /**
4965
- * Toggle tooltip display
4966
- * @param target An element with [data-tooltip-target="id"] where the tooltip should be shown
4967
- * @param force Pass true to always show or false to always hide
4968
- */
4969
- async toggle(target, force) {
4970
- this.popoverRef.toggle(target, force);
4971
- }
4972
- /**
4973
- * Pointer or focus is on the tooltip, stop the tooltip from disappearing
4974
- */
4975
- handleInterest() {
4976
- if (hideTooltipTimeout) {
4977
- window.clearTimeout(hideTooltipTimeout);
4978
- hideTooltipTimeout = null;
4670
+ interestLostHandler() {
4671
+ if (this.delayTimeout) {
4672
+ clearTimeout(this.delayTimeout);
4673
+ this.delayTimeout = null;
4979
4674
  }
4980
- }
4981
- /**
4982
- * Pointer or focus left the tooltip, initiate the hiding process
4983
- * Re-enable pointer events when the tooltip is no longer in focus or hovered
4984
- */
4985
- handleInterestLost() {
4986
- globalHideTooltip(this);
4987
- this.host.style.pointerEvents = 'auto';
4675
+ this.tooltip?.hide();
4988
4676
  }
4989
4677
  render() {
4990
- const popoverClass = `${this.arrow ? ' has-arrow' : ''}`;
4991
- return (index.h(index.Host, { key: '71db1ccf3cf929d76550b08e69c8594479eaa84f', "data-version": _package.version, role: "tooltip", onPointerOver: this.handleInterest, onPointerOut: this.handleInterestLost, onFocusIn: this.handleInterest, onFocusOut: this.handleInterestLost }, index.h("post-popovercontainer", { key: 'b9a38cabbfc2cf2eb9b257bca32022b5d97aac7c', class: popoverClass, arrow: this.arrow, placement: this.placement, ref: (el) => (this.popoverRef = el) }, index.h("slot", { key: '316b55f5fc55d9607205496a87f02a0a5fa197cf' }))));
4678
+ return (index.h(index.Host, { key: '4e4b53e85570d6dbba4ee7833a1d3de00e53dbc6', "data-version": _package.version }, index.h("slot", { key: 'f8f5ea2e2ce848d654e233617455bbbbdc6ba5b1', onSlotchange: () => this.handleSlotChange() })));
4992
4679
  }
4993
4680
  get host() { return index.getElement(this); }
4994
4681
  static get watchers() { return {
4995
- "delayed": ["validateDelayed"]
4682
+ "for": ["validateControlFor"]
4996
4683
  }; }
4997
4684
  };
4998
- PostTooltip.style = PostTooltipStyle0;
4685
+ PostTooltipTrigger.style = PostTooltipTriggerStyle0;
4999
4686
 
5000
- exports.PostTooltip = PostTooltip;
4687
+ exports.PostTooltipTrigger = PostTooltipTrigger;
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const postTooltipTrigger = require('./post-tooltip-trigger-3ceac010.js');
6
+ require('./index-b60129c4.js');
7
+ require('./breakpoints-cdf1b747.js');
8
+ require('./check-type-cdbf6d29.js');
9
+ require('./package-8121f093.js');
10
+
11
+
12
+
13
+ exports.post_tooltip_trigger = postTooltipTrigger.PostTooltipTrigger;