primeng 21.0.4 → 21.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (287) hide show
  1. package/fesm2022/primeng-accordion.mjs +4 -0
  2. package/fesm2022/primeng-accordion.mjs.map +1 -1
  3. package/fesm2022/primeng-autocomplete.mjs +8 -3
  4. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  5. package/fesm2022/primeng-avatar.mjs +1 -0
  6. package/fesm2022/primeng-avatar.mjs.map +1 -1
  7. package/fesm2022/primeng-avatargroup.mjs +1 -0
  8. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  9. package/fesm2022/primeng-badge.mjs +1 -0
  10. package/fesm2022/primeng-badge.mjs.map +1 -1
  11. package/fesm2022/primeng-basecomponent.mjs +22 -14
  12. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  13. package/fesm2022/primeng-blockui.mjs +1 -0
  14. package/fesm2022/primeng-blockui.mjs.map +1 -1
  15. package/fesm2022/primeng-breadcrumb.mjs +2 -1
  16. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  17. package/fesm2022/primeng-button.mjs +1 -0
  18. package/fesm2022/primeng-button.mjs.map +1 -1
  19. package/fesm2022/primeng-buttongroup.mjs +1 -0
  20. package/fesm2022/primeng-buttongroup.mjs.map +1 -1
  21. package/fesm2022/primeng-card.mjs +2 -1
  22. package/fesm2022/primeng-card.mjs.map +1 -1
  23. package/fesm2022/primeng-carousel.mjs +1 -0
  24. package/fesm2022/primeng-carousel.mjs.map +1 -1
  25. package/fesm2022/primeng-cascadeselect.mjs +1 -0
  26. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  27. package/fesm2022/primeng-chart.mjs +1 -0
  28. package/fesm2022/primeng-chart.mjs.map +1 -1
  29. package/fesm2022/primeng-checkbox.mjs +1 -0
  30. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  31. package/fesm2022/primeng-chip.mjs +1 -0
  32. package/fesm2022/primeng-chip.mjs.map +1 -1
  33. package/fesm2022/primeng-colorpicker.mjs +1 -0
  34. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  35. package/fesm2022/primeng-confirmdialog.mjs +1 -0
  36. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  37. package/fesm2022/primeng-confirmpopup.mjs +1 -0
  38. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  39. package/fesm2022/primeng-contextmenu.mjs +2 -1
  40. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  41. package/fesm2022/primeng-dataview.mjs +1 -0
  42. package/fesm2022/primeng-dataview.mjs.map +1 -1
  43. package/fesm2022/primeng-datepicker.mjs +3 -0
  44. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  45. package/fesm2022/primeng-dialog.mjs +4 -3
  46. package/fesm2022/primeng-dialog.mjs.map +1 -1
  47. package/fesm2022/primeng-divider.mjs +1 -0
  48. package/fesm2022/primeng-divider.mjs.map +1 -1
  49. package/fesm2022/primeng-dock.mjs +2 -1
  50. package/fesm2022/primeng-dock.mjs.map +1 -1
  51. package/fesm2022/primeng-drawer.mjs +1 -0
  52. package/fesm2022/primeng-drawer.mjs.map +1 -1
  53. package/fesm2022/primeng-dynamicdialog.mjs +1 -5
  54. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  55. package/fesm2022/primeng-editor.mjs +1 -0
  56. package/fesm2022/primeng-editor.mjs.map +1 -1
  57. package/fesm2022/primeng-fieldset.mjs +1 -0
  58. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  59. package/fesm2022/primeng-fileupload.mjs +1 -0
  60. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  61. package/fesm2022/primeng-floatlabel.mjs +1 -0
  62. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  63. package/fesm2022/primeng-fluid.mjs +1 -0
  64. package/fesm2022/primeng-fluid.mjs.map +1 -1
  65. package/fesm2022/primeng-galleria.mjs +1 -0
  66. package/fesm2022/primeng-galleria.mjs.map +1 -1
  67. package/fesm2022/primeng-iconfield.mjs +1 -0
  68. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  69. package/fesm2022/primeng-iftalabel.mjs +1 -0
  70. package/fesm2022/primeng-iftalabel.mjs.map +1 -1
  71. package/fesm2022/primeng-image.mjs +1 -0
  72. package/fesm2022/primeng-image.mjs.map +1 -1
  73. package/fesm2022/primeng-imagecompare.mjs +1 -0
  74. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  75. package/fesm2022/primeng-inplace.mjs +1 -0
  76. package/fesm2022/primeng-inplace.mjs.map +1 -1
  77. package/fesm2022/primeng-inputgroup.mjs +1 -0
  78. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  79. package/fesm2022/primeng-inputgroupaddon.mjs +1 -0
  80. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  81. package/fesm2022/primeng-inputicon.mjs +1 -0
  82. package/fesm2022/primeng-inputicon.mjs.map +1 -1
  83. package/fesm2022/primeng-inputmask.mjs +569 -6
  84. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  85. package/fesm2022/primeng-inputnumber.mjs +1 -0
  86. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  87. package/fesm2022/primeng-inputotp.mjs +1 -0
  88. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  89. package/fesm2022/primeng-inputtext.mjs +1 -0
  90. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  91. package/fesm2022/primeng-knob.mjs +1 -0
  92. package/fesm2022/primeng-knob.mjs.map +1 -1
  93. package/fesm2022/primeng-listbox.mjs +1 -0
  94. package/fesm2022/primeng-listbox.mjs.map +1 -1
  95. package/fesm2022/primeng-megamenu.mjs +2 -1
  96. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  97. package/fesm2022/primeng-menu.mjs +6 -9
  98. package/fesm2022/primeng-menu.mjs.map +1 -1
  99. package/fesm2022/primeng-menubar.mjs +2 -1
  100. package/fesm2022/primeng-menubar.mjs.map +1 -1
  101. package/fesm2022/primeng-message.mjs +1 -0
  102. package/fesm2022/primeng-message.mjs.map +1 -1
  103. package/fesm2022/primeng-metergroup.mjs +1 -0
  104. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  105. package/fesm2022/primeng-multiselect.mjs +2 -1
  106. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  107. package/fesm2022/primeng-orderlist.mjs +1 -0
  108. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  109. package/fesm2022/primeng-organizationchart.mjs +1 -0
  110. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  111. package/fesm2022/primeng-overlay.mjs +1 -0
  112. package/fesm2022/primeng-overlay.mjs.map +1 -1
  113. package/fesm2022/primeng-overlaybadge.mjs +1 -0
  114. package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
  115. package/fesm2022/primeng-paginator.mjs +1 -0
  116. package/fesm2022/primeng-paginator.mjs.map +1 -1
  117. package/fesm2022/primeng-panel.mjs +1 -0
  118. package/fesm2022/primeng-panel.mjs.map +1 -1
  119. package/fesm2022/primeng-panelmenu.mjs +3 -2
  120. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  121. package/fesm2022/primeng-password.mjs +1 -0
  122. package/fesm2022/primeng-password.mjs.map +1 -1
  123. package/fesm2022/primeng-picklist.mjs +1 -0
  124. package/fesm2022/primeng-picklist.mjs.map +1 -1
  125. package/fesm2022/primeng-popover.mjs +1 -0
  126. package/fesm2022/primeng-popover.mjs.map +1 -1
  127. package/fesm2022/primeng-progressbar.mjs +1 -0
  128. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  129. package/fesm2022/primeng-progressspinner.mjs +1 -0
  130. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  131. package/fesm2022/primeng-radiobutton.mjs +1 -0
  132. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  133. package/fesm2022/primeng-rating.mjs +1 -0
  134. package/fesm2022/primeng-rating.mjs.map +1 -1
  135. package/fesm2022/primeng-ripple.mjs +1 -0
  136. package/fesm2022/primeng-ripple.mjs.map +1 -1
  137. package/fesm2022/primeng-scroller.mjs +1 -1
  138. package/fesm2022/primeng-scroller.mjs.map +1 -1
  139. package/fesm2022/primeng-scrollpanel.mjs +1 -0
  140. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  141. package/fesm2022/primeng-scrolltop.mjs +1 -0
  142. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  143. package/fesm2022/primeng-select.mjs +2 -1
  144. package/fesm2022/primeng-select.mjs.map +1 -1
  145. package/fesm2022/primeng-selectbutton.mjs +1 -0
  146. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  147. package/fesm2022/primeng-skeleton.mjs +1 -0
  148. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  149. package/fesm2022/primeng-slider.mjs +1 -0
  150. package/fesm2022/primeng-slider.mjs.map +1 -1
  151. package/fesm2022/primeng-speeddial.mjs +2 -1
  152. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  153. package/fesm2022/primeng-splitbutton.mjs +2 -1
  154. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  155. package/fesm2022/primeng-splitter.mjs +1 -0
  156. package/fesm2022/primeng-splitter.mjs.map +1 -1
  157. package/fesm2022/primeng-stepper.mjs +7 -0
  158. package/fesm2022/primeng-stepper.mjs.map +1 -1
  159. package/fesm2022/primeng-steps.mjs +2 -1
  160. package/fesm2022/primeng-steps.mjs.map +1 -1
  161. package/fesm2022/primeng-table.mjs +1 -0
  162. package/fesm2022/primeng-table.mjs.map +1 -1
  163. package/fesm2022/primeng-tabs.mjs +5 -0
  164. package/fesm2022/primeng-tabs.mjs.map +1 -1
  165. package/fesm2022/primeng-tag.mjs +1 -0
  166. package/fesm2022/primeng-tag.mjs.map +1 -1
  167. package/fesm2022/primeng-terminal.mjs +1 -0
  168. package/fesm2022/primeng-terminal.mjs.map +1 -1
  169. package/fesm2022/primeng-textarea.mjs +1 -0
  170. package/fesm2022/primeng-textarea.mjs.map +1 -1
  171. package/fesm2022/primeng-tieredmenu.mjs +2 -1
  172. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  173. package/fesm2022/primeng-timeline.mjs +1 -0
  174. package/fesm2022/primeng-timeline.mjs.map +1 -1
  175. package/fesm2022/primeng-toast.mjs +1 -0
  176. package/fesm2022/primeng-toast.mjs.map +1 -1
  177. package/fesm2022/primeng-togglebutton.mjs +1 -0
  178. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  179. package/fesm2022/primeng-toggleswitch.mjs +1 -0
  180. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  181. package/fesm2022/primeng-toolbar.mjs +1 -0
  182. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  183. package/fesm2022/primeng-tooltip.mjs +63 -1
  184. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  185. package/fesm2022/primeng-tree.mjs +3 -5
  186. package/fesm2022/primeng-tree.mjs.map +1 -1
  187. package/fesm2022/primeng-treeselect.mjs +7 -0
  188. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  189. package/fesm2022/primeng-treetable.mjs +1 -0
  190. package/fesm2022/primeng-treetable.mjs.map +1 -1
  191. package/package.json +2 -2
  192. package/types/primeng-accordion.d.ts +4 -0
  193. package/types/primeng-api.d.ts +1 -1
  194. package/types/primeng-autocomplete.d.ts +1 -0
  195. package/types/primeng-avatar.d.ts +1 -0
  196. package/types/primeng-avatargroup.d.ts +1 -0
  197. package/types/primeng-badge.d.ts +1 -0
  198. package/types/primeng-basecomponent.d.ts +2 -0
  199. package/types/primeng-blockui.d.ts +1 -0
  200. package/types/primeng-breadcrumb.d.ts +1 -0
  201. package/types/primeng-button.d.ts +1 -0
  202. package/types/primeng-buttongroup.d.ts +1 -0
  203. package/types/primeng-card.d.ts +1 -0
  204. package/types/primeng-carousel.d.ts +1 -0
  205. package/types/primeng-cascadeselect.d.ts +1 -0
  206. package/types/primeng-chart.d.ts +1 -0
  207. package/types/primeng-checkbox.d.ts +1 -0
  208. package/types/primeng-chip.d.ts +1 -0
  209. package/types/primeng-colorpicker.d.ts +1 -0
  210. package/types/primeng-config.d.ts +5 -1
  211. package/types/primeng-confirmdialog.d.ts +1 -0
  212. package/types/primeng-confirmpopup.d.ts +1 -0
  213. package/types/primeng-contextmenu.d.ts +1 -0
  214. package/types/primeng-dataview.d.ts +1 -0
  215. package/types/primeng-datepicker.d.ts +1 -0
  216. package/types/primeng-dialog.d.ts +1 -0
  217. package/types/primeng-divider.d.ts +1 -0
  218. package/types/primeng-dock.d.ts +1 -0
  219. package/types/primeng-drawer.d.ts +1 -0
  220. package/types/primeng-dynamicdialog.d.ts +1 -1
  221. package/types/primeng-editor.d.ts +1 -0
  222. package/types/primeng-fieldset.d.ts +1 -0
  223. package/types/primeng-fileupload.d.ts +1 -0
  224. package/types/primeng-floatlabel.d.ts +1 -0
  225. package/types/primeng-fluid.d.ts +1 -0
  226. package/types/primeng-galleria.d.ts +1 -0
  227. package/types/primeng-iconfield.d.ts +1 -0
  228. package/types/primeng-iftalabel.d.ts +1 -0
  229. package/types/primeng-image.d.ts +1 -0
  230. package/types/primeng-imagecompare.d.ts +1 -0
  231. package/types/primeng-inplace.d.ts +1 -0
  232. package/types/primeng-inputgroup.d.ts +1 -0
  233. package/types/primeng-inputgroupaddon.d.ts +1 -0
  234. package/types/primeng-inputicon.d.ts +1 -0
  235. package/types/primeng-inputmask.d.ts +118 -10
  236. package/types/primeng-inputnumber.d.ts +1 -0
  237. package/types/primeng-inputotp.d.ts +1 -0
  238. package/types/primeng-inputtext.d.ts +1 -0
  239. package/types/primeng-knob.d.ts +1 -0
  240. package/types/primeng-listbox.d.ts +1 -0
  241. package/types/primeng-megamenu.d.ts +1 -0
  242. package/types/primeng-menu.d.ts +1 -0
  243. package/types/primeng-menubar.d.ts +1 -0
  244. package/types/primeng-message.d.ts +1 -0
  245. package/types/primeng-metergroup.d.ts +1 -0
  246. package/types/primeng-multiselect.d.ts +1 -0
  247. package/types/primeng-orderlist.d.ts +1 -0
  248. package/types/primeng-organizationchart.d.ts +1 -0
  249. package/types/primeng-overlay.d.ts +1 -0
  250. package/types/primeng-overlaybadge.d.ts +1 -0
  251. package/types/primeng-paginator.d.ts +1 -0
  252. package/types/primeng-panel.d.ts +1 -0
  253. package/types/primeng-panelmenu.d.ts +1 -0
  254. package/types/primeng-password.d.ts +1 -0
  255. package/types/primeng-picklist.d.ts +1 -0
  256. package/types/primeng-popover.d.ts +1 -0
  257. package/types/primeng-progressbar.d.ts +1 -0
  258. package/types/primeng-progressspinner.d.ts +1 -0
  259. package/types/primeng-radiobutton.d.ts +1 -0
  260. package/types/primeng-rating.d.ts +1 -0
  261. package/types/primeng-ripple.d.ts +1 -0
  262. package/types/primeng-scrollpanel.d.ts +1 -0
  263. package/types/primeng-scrolltop.d.ts +1 -0
  264. package/types/primeng-select.d.ts +1 -0
  265. package/types/primeng-selectbutton.d.ts +1 -0
  266. package/types/primeng-skeleton.d.ts +1 -0
  267. package/types/primeng-slider.d.ts +1 -0
  268. package/types/primeng-speeddial.d.ts +2 -1
  269. package/types/primeng-splitbutton.d.ts +1 -0
  270. package/types/primeng-splitter.d.ts +1 -0
  271. package/types/primeng-stepper.d.ts +7 -0
  272. package/types/primeng-steps.d.ts +1 -0
  273. package/types/primeng-table.d.ts +1 -0
  274. package/types/primeng-tabs.d.ts +5 -0
  275. package/types/primeng-tag.d.ts +1 -0
  276. package/types/primeng-terminal.d.ts +1 -0
  277. package/types/primeng-textarea.d.ts +1 -0
  278. package/types/primeng-tieredmenu.d.ts +1 -0
  279. package/types/primeng-timeline.d.ts +1 -0
  280. package/types/primeng-toast.d.ts +1 -0
  281. package/types/primeng-togglebutton.d.ts +1 -0
  282. package/types/primeng-toggleswitch.d.ts +1 -0
  283. package/types/primeng-toolbar.d.ts +1 -0
  284. package/types/primeng-tooltip.d.ts +18 -2
  285. package/types/primeng-tree.d.ts +1 -0
  286. package/types/primeng-treeselect.d.ts +1 -0
  287. package/types/primeng-treetable.d.ts +1 -0
@@ -57,6 +57,7 @@ const TOOLTIP_INSTANCE = new InjectionToken('TOOLTIP_INSTANCE');
57
57
  class Tooltip extends BaseComponent {
58
58
  zone;
59
59
  viewContainer;
60
+ componentName = 'Tooltip';
60
61
  $pcTooltip = inject(TOOLTIP_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
61
62
  /**
62
63
  * Position of the tooltip.
@@ -128,6 +129,11 @@ class Tooltip extends BaseComponent {
128
129
  * @group Props
129
130
  */
130
131
  hideOnEscape = true;
132
+ /**
133
+ * Whether to show the tooltip only when the target text overflows (e.g., ellipsis is active).
134
+ * @group Props
135
+ */
136
+ showOnEllipsis = false;
131
137
  /**
132
138
  * Content of the tooltip.
133
139
  * @group Props
@@ -174,6 +180,7 @@ class Tooltip extends BaseComponent {
174
180
  life: null,
175
181
  autoHide: true,
176
182
  hideOnEscape: true,
183
+ showOnEllipsis: false,
177
184
  id: uuid('pn_id_') + '_tooltip'
178
185
  };
179
186
  _disabled;
@@ -190,6 +197,9 @@ class Tooltip extends BaseComponent {
190
197
  clickListener;
191
198
  focusListener;
192
199
  blurListener;
200
+ touchStartListener;
201
+ touchEndListener;
202
+ documentTouchListener;
193
203
  documentEscapeListener;
194
204
  scrollHandler;
195
205
  resizeListener;
@@ -237,6 +247,11 @@ class Tooltip extends BaseComponent {
237
247
  this.el.nativeElement.addEventListener('mouseenter', this.mouseEnterListener);
238
248
  this.el.nativeElement.addEventListener('click', this.clickListener);
239
249
  this.el.nativeElement.addEventListener('mouseleave', this.mouseLeaveListener);
250
+ // Touch support
251
+ this.touchStartListener = this.onTouchStart.bind(this);
252
+ this.touchEndListener = this.onTouchEnd.bind(this);
253
+ this.el.nativeElement.addEventListener('touchstart', this.touchStartListener, { passive: true });
254
+ this.el.nativeElement.addEventListener('touchend', this.touchEndListener, { passive: true });
240
255
  }
241
256
  if (tooltipEvent === 'focus' || tooltipEvent === 'both') {
242
257
  this.focusListener = this.onFocus.bind(this);
@@ -311,6 +326,9 @@ class Tooltip extends BaseComponent {
311
326
  if (simpleChange.autoHide) {
312
327
  this.setOption({ autoHide: simpleChange.autoHide.currentValue });
313
328
  }
329
+ if (simpleChange.showOnEllipsis) {
330
+ this.setOption({ showOnEllipsis: simpleChange.showOnEllipsis.currentValue });
331
+ }
314
332
  if (simpleChange.id) {
315
333
  this.setOption({ id: simpleChange.id.currentValue });
316
334
  }
@@ -350,6 +368,35 @@ class Tooltip extends BaseComponent {
350
368
  this.deactivate();
351
369
  }
352
370
  }
371
+ onTouchStart(e) {
372
+ if (!this.container && !this.showTimeout) {
373
+ this.activate();
374
+ if (!this.isAutoHide()) {
375
+ this.bindDocumentTouchListener();
376
+ }
377
+ }
378
+ }
379
+ onTouchEnd(e) {
380
+ if (this.isAutoHide()) {
381
+ this.deactivate();
382
+ }
383
+ }
384
+ bindDocumentTouchListener() {
385
+ if (!this.documentTouchListener) {
386
+ this.documentTouchListener = this.renderer.listen('document', 'touchstart', (e) => {
387
+ if (this.container && !this.container.contains(e.target) && !this.el.nativeElement.contains(e.target)) {
388
+ this.deactivate();
389
+ this.unbindDocumentTouchListener();
390
+ }
391
+ });
392
+ }
393
+ }
394
+ unbindDocumentTouchListener() {
395
+ if (this.documentTouchListener) {
396
+ this.documentTouchListener();
397
+ this.documentTouchListener = null;
398
+ }
399
+ }
353
400
  onFocus(e) {
354
401
  this.activate();
355
402
  }
@@ -359,8 +406,15 @@ class Tooltip extends BaseComponent {
359
406
  onInputClick(e) {
360
407
  this.deactivate();
361
408
  }
409
+ hasEllipsis() {
410
+ const el = this.el.nativeElement;
411
+ return el.offsetWidth < el.scrollWidth || el.offsetHeight < el.scrollHeight;
412
+ }
362
413
  activate() {
363
414
  if (!this.interactionInProgress) {
415
+ if (this.getOption('showOnEllipsis') && !this.hasEllipsis()) {
416
+ return;
417
+ }
364
418
  this.active = true;
365
419
  this.clearHideTimeout();
366
420
  if (this.getOption('showDelay'))
@@ -646,6 +700,10 @@ class Tooltip extends BaseComponent {
646
700
  this.el.nativeElement.removeEventListener('mouseenter', this.mouseEnterListener);
647
701
  this.el.nativeElement.removeEventListener('mouseleave', this.mouseLeaveListener);
648
702
  this.el.nativeElement.removeEventListener('click', this.clickListener);
703
+ // Touch support
704
+ this.el.nativeElement.removeEventListener('touchstart', this.touchStartListener);
705
+ this.el.nativeElement.removeEventListener('touchend', this.touchEndListener);
706
+ this.unbindDocumentTouchListener();
649
707
  }
650
708
  if (tooltipEvent === 'focus' || tooltipEvent === 'both') {
651
709
  let target = this.el.nativeElement.querySelector('.p-component');
@@ -669,6 +727,7 @@ class Tooltip extends BaseComponent {
669
727
  this.unbindDocumentResizeListener();
670
728
  this.unbindScrollListener();
671
729
  this.unbindContainerMouseleaveListener();
730
+ this.unbindDocumentTouchListener();
672
731
  this.clearTimeouts();
673
732
  this.container = null;
674
733
  this.scrollHandler = null;
@@ -704,7 +763,7 @@ class Tooltip extends BaseComponent {
704
763
  }
705
764
  }
706
765
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: Tooltip, deps: [{ token: i0.NgZone }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
707
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.0", type: Tooltip, isStandalone: true, selector: "[pTooltip]", inputs: { tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: false, isRequired: false, transformFunction: null }, tooltipEvent: { classPropertyName: "tooltipEvent", publicName: "tooltipEvent", isSignal: false, isRequired: false, transformFunction: null }, positionStyle: { classPropertyName: "positionStyle", publicName: "positionStyle", isSignal: false, isRequired: false, transformFunction: null }, tooltipStyleClass: { classPropertyName: "tooltipStyleClass", publicName: "tooltipStyleClass", isSignal: false, isRequired: false, transformFunction: null }, tooltipZIndex: { classPropertyName: "tooltipZIndex", publicName: "tooltipZIndex", isSignal: false, isRequired: false, transformFunction: null }, escape: { classPropertyName: "escape", publicName: "escape", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, showDelay: { classPropertyName: "showDelay", publicName: "showDelay", isSignal: false, isRequired: false, transformFunction: numberAttribute }, hideDelay: { classPropertyName: "hideDelay", publicName: "hideDelay", isSignal: false, isRequired: false, transformFunction: numberAttribute }, life: { classPropertyName: "life", publicName: "life", isSignal: false, isRequired: false, transformFunction: numberAttribute }, positionTop: { classPropertyName: "positionTop", publicName: "positionTop", isSignal: false, isRequired: false, transformFunction: numberAttribute }, positionLeft: { classPropertyName: "positionLeft", publicName: "positionLeft", isSignal: false, isRequired: false, transformFunction: numberAttribute }, autoHide: { classPropertyName: "autoHide", publicName: "autoHide", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, fitContent: { classPropertyName: "fitContent", publicName: "fitContent", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, hideOnEscape: { classPropertyName: "hideOnEscape", publicName: "hideOnEscape", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, content: { classPropertyName: "content", publicName: "pTooltip", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "tooltipDisabled", isSignal: false, isRequired: false, transformFunction: null }, tooltipOptions: { classPropertyName: "tooltipOptions", publicName: "tooltipOptions", isSignal: false, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null }, ptTooltip: { classPropertyName: "ptTooltip", publicName: "ptTooltip", isSignal: true, isRequired: false, transformFunction: null }, pTooltipPT: { classPropertyName: "pTooltipPT", publicName: "pTooltipPT", isSignal: true, isRequired: false, transformFunction: null }, pTooltipUnstyled: { classPropertyName: "pTooltipUnstyled", publicName: "pTooltipUnstyled", isSignal: true, isRequired: false, transformFunction: null } }, providers: [TooltipStyle, { provide: TOOLTIP_INSTANCE, useExisting: Tooltip }, { provide: PARENT_INSTANCE, useExisting: Tooltip }], usesInheritance: true, ngImport: i0 });
766
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.0", type: Tooltip, isStandalone: true, selector: "[pTooltip]", inputs: { tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: false, isRequired: false, transformFunction: null }, tooltipEvent: { classPropertyName: "tooltipEvent", publicName: "tooltipEvent", isSignal: false, isRequired: false, transformFunction: null }, positionStyle: { classPropertyName: "positionStyle", publicName: "positionStyle", isSignal: false, isRequired: false, transformFunction: null }, tooltipStyleClass: { classPropertyName: "tooltipStyleClass", publicName: "tooltipStyleClass", isSignal: false, isRequired: false, transformFunction: null }, tooltipZIndex: { classPropertyName: "tooltipZIndex", publicName: "tooltipZIndex", isSignal: false, isRequired: false, transformFunction: null }, escape: { classPropertyName: "escape", publicName: "escape", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, showDelay: { classPropertyName: "showDelay", publicName: "showDelay", isSignal: false, isRequired: false, transformFunction: numberAttribute }, hideDelay: { classPropertyName: "hideDelay", publicName: "hideDelay", isSignal: false, isRequired: false, transformFunction: numberAttribute }, life: { classPropertyName: "life", publicName: "life", isSignal: false, isRequired: false, transformFunction: numberAttribute }, positionTop: { classPropertyName: "positionTop", publicName: "positionTop", isSignal: false, isRequired: false, transformFunction: numberAttribute }, positionLeft: { classPropertyName: "positionLeft", publicName: "positionLeft", isSignal: false, isRequired: false, transformFunction: numberAttribute }, autoHide: { classPropertyName: "autoHide", publicName: "autoHide", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, fitContent: { classPropertyName: "fitContent", publicName: "fitContent", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, hideOnEscape: { classPropertyName: "hideOnEscape", publicName: "hideOnEscape", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, showOnEllipsis: { classPropertyName: "showOnEllipsis", publicName: "showOnEllipsis", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, content: { classPropertyName: "content", publicName: "pTooltip", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "tooltipDisabled", isSignal: false, isRequired: false, transformFunction: null }, tooltipOptions: { classPropertyName: "tooltipOptions", publicName: "tooltipOptions", isSignal: false, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null }, ptTooltip: { classPropertyName: "ptTooltip", publicName: "ptTooltip", isSignal: true, isRequired: false, transformFunction: null }, pTooltipPT: { classPropertyName: "pTooltipPT", publicName: "pTooltipPT", isSignal: true, isRequired: false, transformFunction: null }, pTooltipUnstyled: { classPropertyName: "pTooltipUnstyled", publicName: "pTooltipUnstyled", isSignal: true, isRequired: false, transformFunction: null } }, providers: [TooltipStyle, { provide: TOOLTIP_INSTANCE, useExisting: Tooltip }, { provide: PARENT_INSTANCE, useExisting: Tooltip }], usesInheritance: true, ngImport: i0 });
708
767
  }
709
768
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: Tooltip, decorators: [{
710
769
  type: Directive,
@@ -750,6 +809,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
750
809
  }], hideOnEscape: [{
751
810
  type: Input,
752
811
  args: [{ transform: booleanAttribute }]
812
+ }], showOnEllipsis: [{
813
+ type: Input,
814
+ args: [{ transform: booleanAttribute }]
753
815
  }], content: [{
754
816
  type: Input,
755
817
  args: ['pTooltip']
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-tooltip.mjs","sources":["../../src/tooltip/style/tooltipstyle.ts","../../src/tooltip/tooltip.ts","../../src/tooltip/primeng-tooltip.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/tooltip';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: 'p-tooltip p-component',\n arrow: 'p-tooltip-arrow',\n text: 'p-tooltip-text'\n};\n\n@Injectable()\nexport class TooltipStyle extends BaseStyle {\n name = 'tooltip';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * Tooltip directive provides advisory information for a component.\n *\n * [Live Demo](https://www.primeng.org/tooltip)\n *\n * @module tooltipstyle\n *\n */\nexport enum TooltipClasses {\n /**\n * Class name of the root element\n */\n root = 'p-tooltip',\n /**\n * Class name of the arrow element\n */\n arrow = 'p-tooltip-arrow',\n /**\n * Class name of the text element\n */\n text = 'p-tooltip-text'\n}\n\nexport interface TooltipStyle extends BaseStyle {}\n","import { isPlatformBrowser } from '@angular/common';\nimport { booleanAttribute, computed, Directive, effect, ElementRef, inject, InjectionToken, input, Input, NgModule, NgZone, numberAttribute, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { appendChild, createElement, fadeIn, findSingle, getOuterHeight, getOuterWidth, getViewport, getWindowScrollLeft, getWindowScrollTop, hasClass, removeChild, uuid } from '@primeuix/utils';\nimport { TooltipOptions } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { BindModule } from 'primeng/bind';\nimport { ConnectedOverlayScrollHandler } from 'primeng/dom';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { TooltipPassThroughOptions } from 'primeng/types/tooltip';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { TooltipStyle } from './style/tooltipstyle';\nimport type { TooltipPassThrough } from 'primeng/types/tooltip';\n\nconst TOOLTIP_INSTANCE = new InjectionToken<Tooltip>('TOOLTIP_INSTANCE');\n\n/**\n * Tooltip directive provides advisory information for a component.\n * @group Components\n */\n@Directive({\n selector: '[pTooltip]',\n standalone: true,\n providers: [TooltipStyle, { provide: TOOLTIP_INSTANCE, useExisting: Tooltip }, { provide: PARENT_INSTANCE, useExisting: Tooltip }]\n})\nexport class Tooltip extends BaseComponent<TooltipPassThroughOptions> {\n $pcTooltip: Tooltip | undefined = inject(TOOLTIP_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n /**\n * Position of the tooltip.\n * @group Props\n */\n @Input() tooltipPosition: 'right' | 'left' | 'top' | 'bottom' | string | undefined;\n /**\n * Event to show the tooltip.\n * @group Props\n */\n @Input() tooltipEvent: 'hover' | 'focus' | 'both' | string | any = 'hover';\n /**\n * Type of CSS position.\n * @group Props\n */\n @Input() positionStyle: string | undefined;\n /**\n * Style class of the tooltip.\n * @group Props\n */\n @Input() tooltipStyleClass: string | undefined;\n /**\n * Whether the z-index should be managed automatically to always go on top or have a fixed value.\n * @group Props\n */\n @Input() tooltipZIndex: string | undefined;\n /**\n * By default the tooltip contents are rendered as text. Set to false to support html tags in the content.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) escape: boolean = true;\n /**\n * Delay to show the tooltip in milliseconds.\n * @group Props\n */\n @Input({ transform: numberAttribute }) showDelay: number | undefined;\n /**\n * Delay to hide the tooltip in milliseconds.\n * @group Props\n */\n @Input({ transform: numberAttribute }) hideDelay: number | undefined;\n /**\n * Time to wait in milliseconds to hide the tooltip even it is active.\n * @group Props\n */\n @Input({ transform: numberAttribute }) life: number | undefined;\n /**\n * Specifies the additional vertical offset of the tooltip from its default position.\n * @group Props\n */\n @Input({ transform: numberAttribute }) positionTop: number | undefined;\n /**\n * Specifies the additional horizontal offset of the tooltip from its default position.\n * @group Props\n */\n @Input({ transform: numberAttribute }) positionLeft: number | undefined;\n /**\n * Whether to hide tooltip when hovering over tooltip content.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoHide: boolean = true;\n /**\n * Automatically adjusts the element position when there is not enough space on the selected position.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) fitContent: boolean = true;\n /**\n * Whether to hide tooltip on escape key press.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) hideOnEscape: boolean = true;\n /**\n * Content of the tooltip.\n * @group Props\n */\n @Input('pTooltip') content: string | TemplateRef<HTMLElement> | undefined;\n /**\n * When present, it specifies that the component should be disabled.\n * @defaultValue false\n * @group Props\n */\n @Input('tooltipDisabled') get disabled(): boolean {\n return this._disabled as boolean;\n }\n set disabled(val: boolean) {\n this._disabled = val;\n this.deactivate();\n }\n /**\n * Specifies the tooltip configuration options for the component.\n * @group Props\n */\n @Input() tooltipOptions: TooltipOptions | undefined;\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @defaultValue 'self'\n * @group Props\n */\n appendTo = input<HTMLElement | ElementRef | TemplateRef<any> | 'self' | 'body' | null | undefined | any>(undefined);\n\n $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n _tooltipOptions = {\n tooltipLabel: null,\n tooltipPosition: 'right',\n tooltipEvent: 'hover',\n appendTo: 'body',\n positionStyle: null,\n tooltipStyleClass: null,\n tooltipZIndex: 'auto',\n escape: true,\n disabled: null,\n showDelay: null,\n hideDelay: null,\n positionTop: null,\n positionLeft: null,\n life: null,\n autoHide: true,\n hideOnEscape: true,\n id: uuid('pn_id_') + '_tooltip'\n };\n\n _disabled: boolean | undefined;\n\n container: any;\n\n styleClass: string | undefined;\n\n tooltipText: any;\n\n rootPTClasses: string = '';\n\n showTimeout: any;\n\n hideTimeout: any;\n\n active: boolean | undefined;\n\n mouseEnterListener: Nullable<Function>;\n\n mouseLeaveListener: Nullable<Function>;\n\n containerMouseleaveListener: Nullable<Function>;\n\n clickListener: Nullable<Function>;\n\n focusListener: Nullable<Function>;\n\n blurListener: Nullable<Function>;\n\n documentEscapeListener: Nullable<Function>;\n\n scrollHandler: any;\n\n resizeListener: any;\n\n _componentStyle = inject(TooltipStyle);\n\n interactionInProgress = false;\n\n /**\n * Used to pass attributes to DOM elements inside the Tooltip component.\n * @defaultValue undefined\n * @deprecated use pTooltipPT instead.\n * @group Props\n */\n ptTooltip = input<TooltipPassThrough | undefined>();\n /**\n * Used to pass attributes to DOM elements inside the Tooltip component.\n * @defaultValue undefined\n * @group Props\n */\n pTooltipPT = input<TooltipPassThrough | undefined>();\n /**\n * Indicates whether the component should be rendered without styles.\n * @defaultValue undefined\n * @group Props\n */\n pTooltipUnstyled = input<boolean | undefined>();\n\n constructor(\n public zone: NgZone,\n private viewContainer: ViewContainerRef\n ) {\n super();\n effect(() => {\n const pt = this.ptTooltip() || this.pTooltipPT();\n pt && this.directivePT.set(pt);\n });\n\n effect(() => {\n this.pTooltipUnstyled() && this.directiveUnstyled.set(this.pTooltipUnstyled());\n });\n }\n\n onAfterViewInit() {\n if (isPlatformBrowser(this.platformId)) {\n this.zone.runOutsideAngular(() => {\n const tooltipEvent = this.getOption('tooltipEvent');\n\n if (tooltipEvent === 'hover' || tooltipEvent === 'both') {\n this.mouseEnterListener = this.onMouseEnter.bind(this);\n this.mouseLeaveListener = this.onMouseLeave.bind(this);\n this.clickListener = this.onInputClick.bind(this);\n this.el.nativeElement.addEventListener('mouseenter', this.mouseEnterListener);\n this.el.nativeElement.addEventListener('click', this.clickListener);\n this.el.nativeElement.addEventListener('mouseleave', this.mouseLeaveListener);\n }\n if (tooltipEvent === 'focus' || tooltipEvent === 'both') {\n this.focusListener = this.onFocus.bind(this);\n this.blurListener = this.onBlur.bind(this);\n\n let target = this.el.nativeElement.querySelector('.p-component');\n\n if (!target) {\n target = this.getTarget(this.el.nativeElement);\n }\n\n target.addEventListener('focus', this.focusListener);\n target.addEventListener('blur', this.blurListener);\n }\n });\n }\n }\n\n onChanges(simpleChange: SimpleChanges) {\n if (simpleChange.tooltipPosition) {\n this.setOption({ tooltipPosition: simpleChange.tooltipPosition.currentValue });\n }\n\n if (simpleChange.tooltipEvent) {\n this.setOption({ tooltipEvent: simpleChange.tooltipEvent.currentValue });\n }\n\n if (simpleChange.appendTo) {\n this.setOption({ appendTo: simpleChange.appendTo.currentValue });\n }\n\n if (simpleChange.positionStyle) {\n this.setOption({ positionStyle: simpleChange.positionStyle.currentValue });\n }\n\n if (simpleChange.tooltipStyleClass) {\n this.setOption({ tooltipStyleClass: simpleChange.tooltipStyleClass.currentValue });\n }\n\n if (simpleChange.tooltipZIndex) {\n this.setOption({ tooltipZIndex: simpleChange.tooltipZIndex.currentValue });\n }\n\n if (simpleChange.escape) {\n this.setOption({ escape: simpleChange.escape.currentValue });\n }\n\n if (simpleChange.showDelay) {\n this.setOption({ showDelay: simpleChange.showDelay.currentValue });\n }\n\n if (simpleChange.hideDelay) {\n this.setOption({ hideDelay: simpleChange.hideDelay.currentValue });\n }\n\n if (simpleChange.life) {\n this.setOption({ life: simpleChange.life.currentValue });\n }\n\n if (simpleChange.positionTop) {\n this.setOption({ positionTop: simpleChange.positionTop.currentValue });\n }\n\n if (simpleChange.positionLeft) {\n this.setOption({ positionLeft: simpleChange.positionLeft.currentValue });\n }\n\n if (simpleChange.disabled) {\n this.setOption({ disabled: simpleChange.disabled.currentValue });\n }\n\n if (simpleChange.content) {\n this.setOption({ tooltipLabel: simpleChange.content.currentValue });\n\n if (this.active) {\n if (simpleChange.content.currentValue) {\n if (this.container && this.container.offsetParent) {\n this.updateText();\n this.align();\n } else {\n this.show();\n }\n } else {\n this.hide();\n }\n }\n }\n\n if (simpleChange.autoHide) {\n this.setOption({ autoHide: simpleChange.autoHide.currentValue });\n }\n\n if (simpleChange.id) {\n this.setOption({ id: simpleChange.id.currentValue });\n }\n\n if (simpleChange.tooltipOptions) {\n this._tooltipOptions = { ...this._tooltipOptions, ...simpleChange.tooltipOptions.currentValue };\n this.deactivate();\n\n if (this.active) {\n if (this.getOption('tooltipLabel')) {\n if (this.container && this.container.offsetParent) {\n this.updateText();\n this.align();\n } else {\n this.show();\n }\n } else {\n this.hide();\n }\n }\n }\n }\n\n isAutoHide(): boolean {\n return this.getOption('autoHide');\n }\n\n onMouseEnter(e: Event) {\n if (!this.container && !this.showTimeout) {\n this.activate();\n }\n }\n\n onMouseLeave(e: MouseEvent) {\n if (!this.isAutoHide()) {\n const valid = hasClass(e.relatedTarget as any, 'p-tooltip') || hasClass(e.relatedTarget as any, 'p-tooltip-text') || hasClass(e.relatedTarget as any, 'p-tooltip-arrow');\n !valid && this.deactivate();\n } else {\n this.deactivate();\n }\n }\n\n onFocus(e: Event) {\n this.activate();\n }\n\n onBlur(e: Event) {\n this.deactivate();\n }\n\n onInputClick(e: Event) {\n this.deactivate();\n }\n\n activate() {\n if (!this.interactionInProgress) {\n this.active = true;\n this.clearHideTimeout();\n\n if (this.getOption('showDelay'))\n this.showTimeout = setTimeout(() => {\n this.show();\n }, this.getOption('showDelay'));\n else this.show();\n\n if (this.getOption('life')) {\n let duration = this.getOption('showDelay') ? this.getOption('life') + this.getOption('showDelay') : this.getOption('life');\n this.hideTimeout = setTimeout(() => {\n this.hide();\n }, duration);\n }\n\n if (this.getOption('hideOnEscape')) {\n this.documentEscapeListener = this.renderer.listen('document', 'keydown.escape', () => {\n this.deactivate();\n this.documentEscapeListener?.();\n });\n }\n this.interactionInProgress = true;\n }\n }\n\n deactivate() {\n this.interactionInProgress = false;\n this.active = false;\n this.clearShowTimeout();\n\n if (this.getOption('hideDelay')) {\n this.clearHideTimeout(); //life timeout\n this.hideTimeout = setTimeout(() => {\n this.hide();\n }, this.getOption('hideDelay'));\n } else {\n this.hide();\n }\n\n if (this.documentEscapeListener) {\n this.documentEscapeListener();\n }\n }\n\n create() {\n if (this.container) {\n this.clearHideTimeout();\n this.remove();\n }\n\n this.container = createElement('div', { class: this.cx('root'), 'p-bind': this.ptm('root'), 'data-pc-section': 'root' });\n this.container.setAttribute('role', 'tooltip');\n let tooltipArrow = createElement('div', { class: this.cx('arrow'), 'p-bind': this.ptm('arrow'), 'data-pc-section': 'arrow' });\n this.container.appendChild(tooltipArrow);\n this.tooltipText = createElement('div', { class: this.cx('text'), 'p-bind': this.ptm('text'), 'data-pc-section': 'text' });\n\n this.updateText();\n\n if (this.getOption('positionStyle')) {\n this.container.style.position = this.getOption('positionStyle');\n }\n\n this.container.appendChild(this.tooltipText);\n\n if (this.getOption('appendTo') === 'body') document.body.appendChild(this.container);\n else if (this.getOption('appendTo') === 'target') appendChild(this.container, this.el.nativeElement);\n else appendChild(this.getOption('appendTo'), this.container);\n\n this.container.style.display = 'none';\n\n if (this.fitContent) {\n this.container.style.width = 'fit-content';\n }\n\n if (this.isAutoHide()) {\n this.container.style.pointerEvents = 'none';\n } else {\n this.container.style.pointerEvents = 'unset';\n this.bindContainerMouseleaveListener();\n }\n }\n\n bindContainerMouseleaveListener() {\n if (!this.containerMouseleaveListener) {\n const targetEl: any = this.container ?? this.container.nativeElement;\n\n this.containerMouseleaveListener = this.renderer.listen(targetEl, 'mouseleave', (e) => {\n this.deactivate();\n });\n }\n }\n\n unbindContainerMouseleaveListener() {\n if (this.containerMouseleaveListener) {\n this.bindContainerMouseleaveListener();\n this.containerMouseleaveListener = null;\n }\n }\n\n show() {\n if (!this.getOption('tooltipLabel') || this.getOption('disabled')) {\n return;\n }\n\n this.create();\n\n const nativeElement = this.el.nativeElement;\n const pDialogWrapper = nativeElement.closest('p-dialog');\n\n if (pDialogWrapper) {\n setTimeout(() => {\n this.container && (this.container.style.display = 'inline-block');\n this.container && this.align();\n }, 100);\n } else {\n this.container.style.display = 'inline-block';\n this.align();\n }\n\n fadeIn(this.container, 250);\n\n if (this.getOption('tooltipZIndex') === 'auto') ZIndexUtils.set('tooltip', this.container, this.config.zIndex.tooltip);\n else this.container.style.zIndex = this.getOption('tooltipZIndex');\n\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n }\n\n hide() {\n if (this.getOption('tooltipZIndex') === 'auto') {\n ZIndexUtils.clear(this.container);\n }\n this.remove();\n }\n\n updateText() {\n const content = this.getOption('tooltipLabel');\n if (content && typeof (content as TemplateRef<any>).createEmbeddedView === 'function') {\n const embeddedViewRef = this.viewContainer.createEmbeddedView(content);\n embeddedViewRef.detectChanges();\n embeddedViewRef.rootNodes.forEach((node) => this.tooltipText.appendChild(node));\n } else if (this.getOption('escape')) {\n this.tooltipText.innerHTML = '';\n this.tooltipText.appendChild(document.createTextNode(content));\n } else {\n this.tooltipText.innerHTML = content;\n }\n }\n\n align() {\n const position = this.getOption('tooltipPosition') as keyof typeof positionPriority;\n\n const positionPriority = {\n top: [this.alignTop, this.alignBottom, this.alignRight, this.alignLeft],\n bottom: [this.alignBottom, this.alignTop, this.alignRight, this.alignLeft],\n left: [this.alignLeft, this.alignRight, this.alignTop, this.alignBottom],\n right: [this.alignRight, this.alignLeft, this.alignTop, this.alignBottom]\n };\n\n const alignFns = positionPriority[position] || [];\n for (let [index, alignmentFn] of alignFns.entries()) {\n if (index === 0) alignmentFn.call(this);\n else if (this.isOutOfBounds()) alignmentFn.call(this);\n else break;\n }\n }\n\n getHostOffset() {\n if (this.getOption('appendTo') === 'body' || this.getOption('appendTo') === 'target') {\n let offset = this.el.nativeElement.getBoundingClientRect();\n let targetLeft = offset.left + getWindowScrollLeft();\n let targetTop = offset.top + getWindowScrollTop();\n\n return { left: targetLeft, top: targetTop };\n } else {\n return { left: 0, top: 0 };\n }\n }\n\n private get activeElement(): HTMLElement {\n return this.el.nativeElement.nodeName.startsWith('P-') ? (findSingle(this.el.nativeElement, '.p-component') as HTMLElement) : this.el.nativeElement;\n }\n\n alignRight() {\n this.preAlign('right');\n const el = this.activeElement;\n const offsetLeft = getOuterWidth(el);\n const offsetTop = (getOuterHeight(el) - getOuterHeight(this.container)) / 2;\n this.alignTooltip(offsetLeft, offsetTop);\n let arrowElement = this.getArrowElement();\n\n arrowElement.style.top = '50%';\n arrowElement.style.right = null;\n arrowElement.style.bottom = null;\n arrowElement.style.left = '0';\n }\n\n alignLeft() {\n this.preAlign('left');\n let arrowElement = this.getArrowElement();\n let offsetLeft = getOuterWidth(this.container);\n let offsetTop = (getOuterHeight(this.el.nativeElement) - getOuterHeight(this.container)) / 2;\n this.alignTooltip(-offsetLeft, offsetTop);\n\n arrowElement.style.top = '50%';\n arrowElement.style.right = '0';\n arrowElement.style.bottom = null;\n arrowElement.style.left = null;\n }\n\n alignTop() {\n this.preAlign('top');\n let arrowElement = this.getArrowElement();\n let hostOffset = this.getHostOffset();\n let elementWidth = getOuterWidth(this.container);\n\n let offsetLeft = (getOuterWidth(this.el.nativeElement) - getOuterWidth(this.container)) / 2;\n let offsetTop = getOuterHeight(this.container);\n this.alignTooltip(offsetLeft, -offsetTop);\n\n let elementRelativeCenter = hostOffset.left - this.getHostOffset().left + elementWidth / 2;\n arrowElement.style.top = null;\n arrowElement.style.right = null;\n arrowElement.style.bottom = '0';\n arrowElement.style.left = elementRelativeCenter + 'px';\n }\n\n getArrowElement(): any {\n return findSingle(this.container, '[data-pc-section=\"arrow\"]');\n }\n\n alignBottom() {\n this.preAlign('bottom');\n let arrowElement = this.getArrowElement();\n let elementWidth = getOuterWidth(this.container);\n let hostOffset = this.getHostOffset();\n let offsetLeft = (getOuterWidth(this.el.nativeElement) - getOuterWidth(this.container)) / 2;\n let offsetTop = getOuterHeight(this.el.nativeElement);\n this.alignTooltip(offsetLeft, offsetTop);\n\n let elementRelativeCenter = hostOffset.left - this.getHostOffset().left + elementWidth / 2;\n\n arrowElement.style.top = '0';\n arrowElement.style.right = null;\n arrowElement.style.bottom = null;\n arrowElement.style.left = elementRelativeCenter + 'px';\n }\n\n alignTooltip(offsetLeft, offsetTop) {\n let hostOffset = this.getHostOffset();\n let left = hostOffset.left + offsetLeft;\n let top = hostOffset.top + offsetTop;\n this.container.style.left = left + this.getOption('positionLeft') + 'px';\n this.container.style.top = top + this.getOption('positionTop') + 'px';\n }\n\n setOption(option: any) {\n this._tooltipOptions = { ...this._tooltipOptions, ...option };\n }\n\n getOption(option: string) {\n return this._tooltipOptions[option as keyof typeof this.tooltipOptions];\n }\n\n getTarget(el: Element) {\n return hasClass(el, 'p-inputwrapper') ? findSingle(el, 'input') : el;\n }\n\n preAlign(position: string) {\n this.container.style.left = -999 + 'px';\n this.container.style.top = -999 + 'px';\n this.container.className = this.cn(this.cx('root'), this.ptm('root')?.class, 'p-tooltip-' + position, this.getOption('tooltipStyleClass'));\n }\n\n isOutOfBounds(): boolean {\n let offset = this.container.getBoundingClientRect();\n let targetTop = offset.top;\n let targetLeft = offset.left;\n let width = getOuterWidth(this.container);\n let height = getOuterHeight(this.container);\n let viewport = getViewport();\n\n return targetLeft + width > viewport.width || targetLeft < 0 || targetTop < 0 || targetTop + height > viewport.height;\n }\n\n onWindowResize(e: Event) {\n this.hide();\n }\n\n bindDocumentResizeListener() {\n this.zone.runOutsideAngular(() => {\n this.resizeListener = this.onWindowResize.bind(this);\n window.addEventListener('resize', this.resizeListener);\n });\n }\n\n unbindDocumentResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n }\n\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.el.nativeElement, () => {\n if (this.container) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n\n unbindEvents() {\n const tooltipEvent = this.getOption('tooltipEvent');\n\n if (tooltipEvent === 'hover' || tooltipEvent === 'both') {\n this.el.nativeElement.removeEventListener('mouseenter', this.mouseEnterListener);\n this.el.nativeElement.removeEventListener('mouseleave', this.mouseLeaveListener);\n this.el.nativeElement.removeEventListener('click', this.clickListener);\n }\n if (tooltipEvent === 'focus' || tooltipEvent === 'both') {\n let target = this.el.nativeElement.querySelector('.p-component');\n\n if (!target) {\n target = this.getTarget(this.el.nativeElement);\n }\n\n target.removeEventListener('focus', this.focusListener);\n target.removeEventListener('blur', this.blurListener);\n }\n this.unbindDocumentResizeListener();\n }\n\n remove() {\n if (this.container && this.container.parentElement) {\n if (this.getOption('appendTo') === 'body') document.body.removeChild(this.container);\n else if (this.getOption('appendTo') === 'target') this.el.nativeElement.removeChild(this.container);\n else removeChild(this.getOption('appendTo'), this.container);\n }\n\n this.unbindDocumentResizeListener();\n this.unbindScrollListener();\n this.unbindContainerMouseleaveListener();\n this.clearTimeouts();\n this.container = null;\n this.scrollHandler = null;\n }\n\n clearShowTimeout() {\n if (this.showTimeout) {\n clearTimeout(this.showTimeout);\n this.showTimeout = null;\n }\n }\n\n clearHideTimeout() {\n if (this.hideTimeout) {\n clearTimeout(this.hideTimeout);\n this.hideTimeout = null;\n }\n }\n\n clearTimeouts() {\n this.clearShowTimeout();\n this.clearHideTimeout();\n }\n\n onDestroy() {\n this.unbindEvents();\n\n if (this.container) {\n ZIndexUtils.clear(this.container);\n }\n\n this.remove();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n if (this.documentEscapeListener) {\n this.documentEscapeListener();\n }\n }\n}\n\n@NgModule({\n imports: [Tooltip, BindModule],\n exports: [Tooltip, BindModule]\n})\nexport class TooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primeng-tooltip.mjs","sources":["../../src/tooltip/style/tooltipstyle.ts","../../src/tooltip/tooltip.ts","../../src/tooltip/primeng-tooltip.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/tooltip';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: 'p-tooltip p-component',\n arrow: 'p-tooltip-arrow',\n text: 'p-tooltip-text'\n};\n\n@Injectable()\nexport class TooltipStyle extends BaseStyle {\n name = 'tooltip';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * Tooltip directive provides advisory information for a component.\n *\n * [Live Demo](https://www.primeng.org/tooltip)\n *\n * @module tooltipstyle\n *\n */\nexport enum TooltipClasses {\n /**\n * Class name of the root element\n */\n root = 'p-tooltip',\n /**\n * Class name of the arrow element\n */\n arrow = 'p-tooltip-arrow',\n /**\n * Class name of the text element\n */\n text = 'p-tooltip-text'\n}\n\nexport interface TooltipStyle extends BaseStyle {}\n","import { isPlatformBrowser } from '@angular/common';\nimport { booleanAttribute, computed, Directive, effect, ElementRef, inject, InjectionToken, input, Input, NgModule, NgZone, numberAttribute, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { appendChild, createElement, fadeIn, findSingle, getOuterHeight, getOuterWidth, getViewport, getWindowScrollLeft, getWindowScrollTop, hasClass, removeChild, uuid } from '@primeuix/utils';\nimport { TooltipOptions } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { BindModule } from 'primeng/bind';\nimport { ConnectedOverlayScrollHandler } from 'primeng/dom';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { TooltipPassThroughOptions } from 'primeng/types/tooltip';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { TooltipStyle } from './style/tooltipstyle';\nimport type { TooltipPassThrough } from 'primeng/types/tooltip';\n\nconst TOOLTIP_INSTANCE = new InjectionToken<Tooltip>('TOOLTIP_INSTANCE');\n\n/**\n * Tooltip directive provides advisory information for a component.\n * @group Components\n */\n@Directive({\n selector: '[pTooltip]',\n standalone: true,\n providers: [TooltipStyle, { provide: TOOLTIP_INSTANCE, useExisting: Tooltip }, { provide: PARENT_INSTANCE, useExisting: Tooltip }]\n})\nexport class Tooltip extends BaseComponent<TooltipPassThroughOptions> {\n componentName = 'Tooltip';\n\n $pcTooltip: Tooltip | undefined = inject(TOOLTIP_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n /**\n * Position of the tooltip.\n * @group Props\n */\n @Input() tooltipPosition: 'right' | 'left' | 'top' | 'bottom' | string | undefined;\n /**\n * Event to show the tooltip.\n * @group Props\n */\n @Input() tooltipEvent: 'hover' | 'focus' | 'both' = 'hover';\n /**\n * Type of CSS position.\n * @group Props\n */\n @Input() positionStyle: string | undefined;\n /**\n * Style class of the tooltip.\n * @group Props\n */\n @Input() tooltipStyleClass: string | undefined;\n /**\n * Whether the z-index should be managed automatically to always go on top or have a fixed value.\n * @group Props\n */\n @Input() tooltipZIndex: string | undefined;\n /**\n * By default the tooltip contents are rendered as text. Set to false to support html tags in the content.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) escape: boolean = true;\n /**\n * Delay to show the tooltip in milliseconds.\n * @group Props\n */\n @Input({ transform: numberAttribute }) showDelay: number | undefined;\n /**\n * Delay to hide the tooltip in milliseconds.\n * @group Props\n */\n @Input({ transform: numberAttribute }) hideDelay: number | undefined;\n /**\n * Time to wait in milliseconds to hide the tooltip even it is active.\n * @group Props\n */\n @Input({ transform: numberAttribute }) life: number | undefined;\n /**\n * Specifies the additional vertical offset of the tooltip from its default position.\n * @group Props\n */\n @Input({ transform: numberAttribute }) positionTop: number | undefined;\n /**\n * Specifies the additional horizontal offset of the tooltip from its default position.\n * @group Props\n */\n @Input({ transform: numberAttribute }) positionLeft: number | undefined;\n /**\n * Whether to hide tooltip when hovering over tooltip content.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoHide: boolean = true;\n /**\n * Automatically adjusts the element position when there is not enough space on the selected position.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) fitContent: boolean = true;\n /**\n * Whether to hide tooltip on escape key press.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) hideOnEscape: boolean = true;\n /**\n * Whether to show the tooltip only when the target text overflows (e.g., ellipsis is active).\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showOnEllipsis: boolean = false;\n /**\n * Content of the tooltip.\n * @group Props\n */\n @Input('pTooltip') content: string | TemplateRef<HTMLElement> | undefined;\n /**\n * When present, it specifies that the component should be disabled.\n * @defaultValue false\n * @group Props\n */\n @Input('tooltipDisabled') get disabled(): boolean {\n return this._disabled as boolean;\n }\n set disabled(val: boolean) {\n this._disabled = val;\n this.deactivate();\n }\n /**\n * Specifies the tooltip configuration options for the component.\n * @group Props\n */\n @Input() tooltipOptions: TooltipOptions | undefined;\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @defaultValue 'self'\n * @group Props\n */\n appendTo = input<HTMLElement | ElementRef | TemplateRef<any> | 'self' | 'body' | null | undefined | any>(undefined);\n\n $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n _tooltipOptions = {\n tooltipLabel: null,\n tooltipPosition: 'right',\n tooltipEvent: 'hover',\n appendTo: 'body',\n positionStyle: null,\n tooltipStyleClass: null,\n tooltipZIndex: 'auto',\n escape: true,\n disabled: null,\n showDelay: null,\n hideDelay: null,\n positionTop: null,\n positionLeft: null,\n life: null,\n autoHide: true,\n hideOnEscape: true,\n showOnEllipsis: false,\n id: uuid('pn_id_') + '_tooltip'\n };\n\n _disabled: boolean | undefined;\n\n container: any;\n\n styleClass: string | undefined;\n\n tooltipText: any;\n\n rootPTClasses: string = '';\n\n showTimeout: any;\n\n hideTimeout: any;\n\n active: boolean | undefined;\n\n mouseEnterListener: Nullable<Function>;\n\n mouseLeaveListener: Nullable<Function>;\n\n containerMouseleaveListener: Nullable<Function>;\n\n clickListener: Nullable<Function>;\n\n focusListener: Nullable<Function>;\n\n blurListener: Nullable<Function>;\n\n touchStartListener: Nullable<Function>;\n\n touchEndListener: Nullable<Function>;\n\n documentTouchListener: Nullable<Function>;\n\n documentEscapeListener: Nullable<Function>;\n\n scrollHandler: any;\n\n resizeListener: any;\n\n _componentStyle = inject(TooltipStyle);\n\n interactionInProgress = false;\n\n /**\n * Used to pass attributes to DOM elements inside the Tooltip component.\n * @defaultValue undefined\n * @deprecated use pTooltipPT instead.\n * @group Props\n */\n ptTooltip = input<TooltipPassThrough | undefined>();\n /**\n * Used to pass attributes to DOM elements inside the Tooltip component.\n * @defaultValue undefined\n * @group Props\n */\n pTooltipPT = input<TooltipPassThrough | undefined>();\n /**\n * Indicates whether the component should be rendered without styles.\n * @defaultValue undefined\n * @group Props\n */\n pTooltipUnstyled = input<boolean | undefined>();\n\n constructor(\n public zone: NgZone,\n private viewContainer: ViewContainerRef\n ) {\n super();\n effect(() => {\n const pt = this.ptTooltip() || this.pTooltipPT();\n pt && this.directivePT.set(pt);\n });\n\n effect(() => {\n this.pTooltipUnstyled() && this.directiveUnstyled.set(this.pTooltipUnstyled());\n });\n }\n\n onAfterViewInit() {\n if (isPlatformBrowser(this.platformId)) {\n this.zone.runOutsideAngular(() => {\n const tooltipEvent = this.getOption('tooltipEvent');\n\n if (tooltipEvent === 'hover' || tooltipEvent === 'both') {\n this.mouseEnterListener = this.onMouseEnter.bind(this);\n this.mouseLeaveListener = this.onMouseLeave.bind(this);\n this.clickListener = this.onInputClick.bind(this);\n this.el.nativeElement.addEventListener('mouseenter', this.mouseEnterListener);\n this.el.nativeElement.addEventListener('click', this.clickListener);\n this.el.nativeElement.addEventListener('mouseleave', this.mouseLeaveListener);\n\n // Touch support\n this.touchStartListener = this.onTouchStart.bind(this);\n this.touchEndListener = this.onTouchEnd.bind(this);\n this.el.nativeElement.addEventListener('touchstart', this.touchStartListener, { passive: true });\n this.el.nativeElement.addEventListener('touchend', this.touchEndListener, { passive: true });\n }\n if (tooltipEvent === 'focus' || tooltipEvent === 'both') {\n this.focusListener = this.onFocus.bind(this);\n this.blurListener = this.onBlur.bind(this);\n\n let target = this.el.nativeElement.querySelector('.p-component');\n\n if (!target) {\n target = this.getTarget(this.el.nativeElement);\n }\n\n target.addEventListener('focus', this.focusListener);\n target.addEventListener('blur', this.blurListener);\n }\n });\n }\n }\n\n onChanges(simpleChange: SimpleChanges) {\n if (simpleChange.tooltipPosition) {\n this.setOption({ tooltipPosition: simpleChange.tooltipPosition.currentValue });\n }\n\n if (simpleChange.tooltipEvent) {\n this.setOption({ tooltipEvent: simpleChange.tooltipEvent.currentValue });\n }\n\n if (simpleChange.appendTo) {\n this.setOption({ appendTo: simpleChange.appendTo.currentValue });\n }\n\n if (simpleChange.positionStyle) {\n this.setOption({ positionStyle: simpleChange.positionStyle.currentValue });\n }\n\n if (simpleChange.tooltipStyleClass) {\n this.setOption({ tooltipStyleClass: simpleChange.tooltipStyleClass.currentValue });\n }\n\n if (simpleChange.tooltipZIndex) {\n this.setOption({ tooltipZIndex: simpleChange.tooltipZIndex.currentValue });\n }\n\n if (simpleChange.escape) {\n this.setOption({ escape: simpleChange.escape.currentValue });\n }\n\n if (simpleChange.showDelay) {\n this.setOption({ showDelay: simpleChange.showDelay.currentValue });\n }\n\n if (simpleChange.hideDelay) {\n this.setOption({ hideDelay: simpleChange.hideDelay.currentValue });\n }\n\n if (simpleChange.life) {\n this.setOption({ life: simpleChange.life.currentValue });\n }\n\n if (simpleChange.positionTop) {\n this.setOption({ positionTop: simpleChange.positionTop.currentValue });\n }\n\n if (simpleChange.positionLeft) {\n this.setOption({ positionLeft: simpleChange.positionLeft.currentValue });\n }\n\n if (simpleChange.disabled) {\n this.setOption({ disabled: simpleChange.disabled.currentValue });\n }\n\n if (simpleChange.content) {\n this.setOption({ tooltipLabel: simpleChange.content.currentValue });\n\n if (this.active) {\n if (simpleChange.content.currentValue) {\n if (this.container && this.container.offsetParent) {\n this.updateText();\n this.align();\n } else {\n this.show();\n }\n } else {\n this.hide();\n }\n }\n }\n\n if (simpleChange.autoHide) {\n this.setOption({ autoHide: simpleChange.autoHide.currentValue });\n }\n\n if (simpleChange.showOnEllipsis) {\n this.setOption({ showOnEllipsis: simpleChange.showOnEllipsis.currentValue });\n }\n\n if (simpleChange.id) {\n this.setOption({ id: simpleChange.id.currentValue });\n }\n\n if (simpleChange.tooltipOptions) {\n this._tooltipOptions = { ...this._tooltipOptions, ...simpleChange.tooltipOptions.currentValue };\n this.deactivate();\n\n if (this.active) {\n if (this.getOption('tooltipLabel')) {\n if (this.container && this.container.offsetParent) {\n this.updateText();\n this.align();\n } else {\n this.show();\n }\n } else {\n this.hide();\n }\n }\n }\n }\n\n isAutoHide(): boolean {\n return this.getOption('autoHide');\n }\n\n onMouseEnter(e: Event) {\n if (!this.container && !this.showTimeout) {\n this.activate();\n }\n }\n\n onMouseLeave(e: MouseEvent) {\n if (!this.isAutoHide()) {\n const valid = hasClass(e.relatedTarget as any, 'p-tooltip') || hasClass(e.relatedTarget as any, 'p-tooltip-text') || hasClass(e.relatedTarget as any, 'p-tooltip-arrow');\n !valid && this.deactivate();\n } else {\n this.deactivate();\n }\n }\n\n onTouchStart(e: TouchEvent) {\n if (!this.container && !this.showTimeout) {\n this.activate();\n\n if (!this.isAutoHide()) {\n this.bindDocumentTouchListener();\n }\n }\n }\n\n onTouchEnd(e: TouchEvent) {\n if (this.isAutoHide()) {\n this.deactivate();\n }\n }\n\n bindDocumentTouchListener() {\n if (!this.documentTouchListener) {\n this.documentTouchListener = this.renderer.listen('document', 'touchstart', (e: TouchEvent) => {\n if (this.container && !this.container.contains(e.target) && !this.el.nativeElement.contains(e.target)) {\n this.deactivate();\n this.unbindDocumentTouchListener();\n }\n });\n }\n }\n\n unbindDocumentTouchListener() {\n if (this.documentTouchListener) {\n this.documentTouchListener();\n this.documentTouchListener = null;\n }\n }\n\n onFocus(e: Event) {\n this.activate();\n }\n\n onBlur(e: Event) {\n this.deactivate();\n }\n\n onInputClick(e: Event) {\n this.deactivate();\n }\n\n hasEllipsis(): boolean {\n const el = this.el.nativeElement;\n return el.offsetWidth < el.scrollWidth || el.offsetHeight < el.scrollHeight;\n }\n\n activate() {\n if (!this.interactionInProgress) {\n if (this.getOption('showOnEllipsis') && !this.hasEllipsis()) {\n return;\n }\n this.active = true;\n this.clearHideTimeout();\n\n if (this.getOption('showDelay'))\n this.showTimeout = setTimeout(() => {\n this.show();\n }, this.getOption('showDelay'));\n else this.show();\n\n if (this.getOption('life')) {\n let duration = this.getOption('showDelay') ? this.getOption('life') + this.getOption('showDelay') : this.getOption('life');\n this.hideTimeout = setTimeout(() => {\n this.hide();\n }, duration);\n }\n\n if (this.getOption('hideOnEscape')) {\n this.documentEscapeListener = this.renderer.listen('document', 'keydown.escape', () => {\n this.deactivate();\n this.documentEscapeListener?.();\n });\n }\n this.interactionInProgress = true;\n }\n }\n\n deactivate() {\n this.interactionInProgress = false;\n this.active = false;\n this.clearShowTimeout();\n\n if (this.getOption('hideDelay')) {\n this.clearHideTimeout(); //life timeout\n this.hideTimeout = setTimeout(() => {\n this.hide();\n }, this.getOption('hideDelay'));\n } else {\n this.hide();\n }\n\n if (this.documentEscapeListener) {\n this.documentEscapeListener();\n }\n }\n\n create() {\n if (this.container) {\n this.clearHideTimeout();\n this.remove();\n }\n\n this.container = createElement('div', { class: this.cx('root'), 'p-bind': this.ptm('root'), 'data-pc-section': 'root' });\n this.container.setAttribute('role', 'tooltip');\n let tooltipArrow = createElement('div', { class: this.cx('arrow'), 'p-bind': this.ptm('arrow'), 'data-pc-section': 'arrow' });\n this.container.appendChild(tooltipArrow);\n this.tooltipText = createElement('div', { class: this.cx('text'), 'p-bind': this.ptm('text'), 'data-pc-section': 'text' });\n\n this.updateText();\n\n if (this.getOption('positionStyle')) {\n this.container.style.position = this.getOption('positionStyle');\n }\n\n this.container.appendChild(this.tooltipText);\n\n if (this.getOption('appendTo') === 'body') document.body.appendChild(this.container);\n else if (this.getOption('appendTo') === 'target') appendChild(this.container, this.el.nativeElement);\n else appendChild(this.getOption('appendTo'), this.container);\n\n this.container.style.display = 'none';\n\n if (this.fitContent) {\n this.container.style.width = 'fit-content';\n }\n\n if (this.isAutoHide()) {\n this.container.style.pointerEvents = 'none';\n } else {\n this.container.style.pointerEvents = 'unset';\n this.bindContainerMouseleaveListener();\n }\n }\n\n bindContainerMouseleaveListener() {\n if (!this.containerMouseleaveListener) {\n const targetEl: any = this.container ?? this.container.nativeElement;\n\n this.containerMouseleaveListener = this.renderer.listen(targetEl, 'mouseleave', (e) => {\n this.deactivate();\n });\n }\n }\n\n unbindContainerMouseleaveListener() {\n if (this.containerMouseleaveListener) {\n this.bindContainerMouseleaveListener();\n this.containerMouseleaveListener = null;\n }\n }\n\n show() {\n if (!this.getOption('tooltipLabel') || this.getOption('disabled')) {\n return;\n }\n\n this.create();\n\n const nativeElement = this.el.nativeElement;\n const pDialogWrapper = nativeElement.closest('p-dialog');\n\n if (pDialogWrapper) {\n setTimeout(() => {\n this.container && (this.container.style.display = 'inline-block');\n this.container && this.align();\n }, 100);\n } else {\n this.container.style.display = 'inline-block';\n this.align();\n }\n\n fadeIn(this.container, 250);\n\n if (this.getOption('tooltipZIndex') === 'auto') ZIndexUtils.set('tooltip', this.container, this.config.zIndex.tooltip);\n else this.container.style.zIndex = this.getOption('tooltipZIndex');\n\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n }\n\n hide() {\n if (this.getOption('tooltipZIndex') === 'auto') {\n ZIndexUtils.clear(this.container);\n }\n this.remove();\n }\n\n updateText() {\n const content = this.getOption('tooltipLabel');\n if (content && typeof (content as TemplateRef<any>).createEmbeddedView === 'function') {\n const embeddedViewRef = this.viewContainer.createEmbeddedView(content);\n embeddedViewRef.detectChanges();\n embeddedViewRef.rootNodes.forEach((node) => this.tooltipText.appendChild(node));\n } else if (this.getOption('escape')) {\n this.tooltipText.innerHTML = '';\n this.tooltipText.appendChild(document.createTextNode(content));\n } else {\n this.tooltipText.innerHTML = content;\n }\n }\n\n align() {\n const position = this.getOption('tooltipPosition') as keyof typeof positionPriority;\n\n const positionPriority = {\n top: [this.alignTop, this.alignBottom, this.alignRight, this.alignLeft],\n bottom: [this.alignBottom, this.alignTop, this.alignRight, this.alignLeft],\n left: [this.alignLeft, this.alignRight, this.alignTop, this.alignBottom],\n right: [this.alignRight, this.alignLeft, this.alignTop, this.alignBottom]\n };\n\n const alignFns = positionPriority[position] || [];\n for (let [index, alignmentFn] of alignFns.entries()) {\n if (index === 0) alignmentFn.call(this);\n else if (this.isOutOfBounds()) alignmentFn.call(this);\n else break;\n }\n }\n\n getHostOffset() {\n if (this.getOption('appendTo') === 'body' || this.getOption('appendTo') === 'target') {\n let offset = this.el.nativeElement.getBoundingClientRect();\n let targetLeft = offset.left + getWindowScrollLeft();\n let targetTop = offset.top + getWindowScrollTop();\n\n return { left: targetLeft, top: targetTop };\n } else {\n return { left: 0, top: 0 };\n }\n }\n\n private get activeElement(): HTMLElement {\n return this.el.nativeElement.nodeName.startsWith('P-') ? (findSingle(this.el.nativeElement, '.p-component') as HTMLElement) : this.el.nativeElement;\n }\n\n alignRight() {\n this.preAlign('right');\n const el = this.activeElement;\n const offsetLeft = getOuterWidth(el);\n const offsetTop = (getOuterHeight(el) - getOuterHeight(this.container)) / 2;\n this.alignTooltip(offsetLeft, offsetTop);\n let arrowElement = this.getArrowElement();\n\n arrowElement.style.top = '50%';\n arrowElement.style.right = null;\n arrowElement.style.bottom = null;\n arrowElement.style.left = '0';\n }\n\n alignLeft() {\n this.preAlign('left');\n let arrowElement = this.getArrowElement();\n let offsetLeft = getOuterWidth(this.container);\n let offsetTop = (getOuterHeight(this.el.nativeElement) - getOuterHeight(this.container)) / 2;\n this.alignTooltip(-offsetLeft, offsetTop);\n\n arrowElement.style.top = '50%';\n arrowElement.style.right = '0';\n arrowElement.style.bottom = null;\n arrowElement.style.left = null;\n }\n\n alignTop() {\n this.preAlign('top');\n let arrowElement = this.getArrowElement();\n let hostOffset = this.getHostOffset();\n let elementWidth = getOuterWidth(this.container);\n\n let offsetLeft = (getOuterWidth(this.el.nativeElement) - getOuterWidth(this.container)) / 2;\n let offsetTop = getOuterHeight(this.container);\n this.alignTooltip(offsetLeft, -offsetTop);\n\n let elementRelativeCenter = hostOffset.left - this.getHostOffset().left + elementWidth / 2;\n arrowElement.style.top = null;\n arrowElement.style.right = null;\n arrowElement.style.bottom = '0';\n arrowElement.style.left = elementRelativeCenter + 'px';\n }\n\n getArrowElement(): any {\n return findSingle(this.container, '[data-pc-section=\"arrow\"]');\n }\n\n alignBottom() {\n this.preAlign('bottom');\n let arrowElement = this.getArrowElement();\n let elementWidth = getOuterWidth(this.container);\n let hostOffset = this.getHostOffset();\n let offsetLeft = (getOuterWidth(this.el.nativeElement) - getOuterWidth(this.container)) / 2;\n let offsetTop = getOuterHeight(this.el.nativeElement);\n this.alignTooltip(offsetLeft, offsetTop);\n\n let elementRelativeCenter = hostOffset.left - this.getHostOffset().left + elementWidth / 2;\n\n arrowElement.style.top = '0';\n arrowElement.style.right = null;\n arrowElement.style.bottom = null;\n arrowElement.style.left = elementRelativeCenter + 'px';\n }\n\n alignTooltip(offsetLeft, offsetTop) {\n let hostOffset = this.getHostOffset();\n let left = hostOffset.left + offsetLeft;\n let top = hostOffset.top + offsetTop;\n this.container.style.left = left + this.getOption('positionLeft') + 'px';\n this.container.style.top = top + this.getOption('positionTop') + 'px';\n }\n\n setOption(option: any) {\n this._tooltipOptions = { ...this._tooltipOptions, ...option };\n }\n\n getOption(option: string) {\n return this._tooltipOptions[option as keyof typeof this.tooltipOptions];\n }\n\n getTarget(el: Element) {\n return hasClass(el, 'p-inputwrapper') ? findSingle(el, 'input') : el;\n }\n\n preAlign(position: string) {\n this.container.style.left = -999 + 'px';\n this.container.style.top = -999 + 'px';\n this.container.className = this.cn(this.cx('root'), this.ptm('root')?.class, 'p-tooltip-' + position, this.getOption('tooltipStyleClass'));\n }\n\n isOutOfBounds(): boolean {\n let offset = this.container.getBoundingClientRect();\n let targetTop = offset.top;\n let targetLeft = offset.left;\n let width = getOuterWidth(this.container);\n let height = getOuterHeight(this.container);\n let viewport = getViewport();\n\n return targetLeft + width > viewport.width || targetLeft < 0 || targetTop < 0 || targetTop + height > viewport.height;\n }\n\n onWindowResize(e: Event) {\n this.hide();\n }\n\n bindDocumentResizeListener() {\n this.zone.runOutsideAngular(() => {\n this.resizeListener = this.onWindowResize.bind(this);\n window.addEventListener('resize', this.resizeListener);\n });\n }\n\n unbindDocumentResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n }\n\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.el.nativeElement, () => {\n if (this.container) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n\n unbindEvents() {\n const tooltipEvent = this.getOption('tooltipEvent');\n\n if (tooltipEvent === 'hover' || tooltipEvent === 'both') {\n this.el.nativeElement.removeEventListener('mouseenter', this.mouseEnterListener);\n this.el.nativeElement.removeEventListener('mouseleave', this.mouseLeaveListener);\n this.el.nativeElement.removeEventListener('click', this.clickListener);\n\n // Touch support\n this.el.nativeElement.removeEventListener('touchstart', this.touchStartListener);\n this.el.nativeElement.removeEventListener('touchend', this.touchEndListener);\n this.unbindDocumentTouchListener();\n }\n if (tooltipEvent === 'focus' || tooltipEvent === 'both') {\n let target = this.el.nativeElement.querySelector('.p-component');\n\n if (!target) {\n target = this.getTarget(this.el.nativeElement);\n }\n\n target.removeEventListener('focus', this.focusListener);\n target.removeEventListener('blur', this.blurListener);\n }\n this.unbindDocumentResizeListener();\n }\n\n remove() {\n if (this.container && this.container.parentElement) {\n if (this.getOption('appendTo') === 'body') document.body.removeChild(this.container);\n else if (this.getOption('appendTo') === 'target') this.el.nativeElement.removeChild(this.container);\n else removeChild(this.getOption('appendTo'), this.container);\n }\n\n this.unbindDocumentResizeListener();\n this.unbindScrollListener();\n this.unbindContainerMouseleaveListener();\n this.unbindDocumentTouchListener();\n this.clearTimeouts();\n this.container = null;\n this.scrollHandler = null;\n }\n\n clearShowTimeout() {\n if (this.showTimeout) {\n clearTimeout(this.showTimeout);\n this.showTimeout = null;\n }\n }\n\n clearHideTimeout() {\n if (this.hideTimeout) {\n clearTimeout(this.hideTimeout);\n this.hideTimeout = null;\n }\n }\n\n clearTimeouts() {\n this.clearShowTimeout();\n this.clearHideTimeout();\n }\n\n onDestroy() {\n this.unbindEvents();\n\n if (this.container) {\n ZIndexUtils.clear(this.container);\n }\n\n this.remove();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n if (this.documentEscapeListener) {\n this.documentEscapeListener();\n }\n }\n}\n\n@NgModule({\n imports: [Tooltip, BindModule],\n exports: [Tooltip, BindModule]\n})\nexport class TooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -274,9 +274,9 @@ class UITreeNode extends BaseComponent {
274
274
  this.node.expanded = false;
275
275
  if (this.tree.virtualScroll) {
276
276
  this.tree.updateSerializedValue();
277
- this.focusVirtualNode();
278
277
  }
279
278
  this.tree.onNodeCollapse.emit({ originalEvent: event, node: this.node });
279
+ this.focusVirtualNode();
280
280
  }
281
281
  onNodeClick(event) {
282
282
  this.tree.onNodeClick(event, this.node);
@@ -577,10 +577,7 @@ class UITreeNode extends BaseComponent {
577
577
  return parentNodeElement?.tagName === 'P-TREENODE' ? parentNodeElement : null;
578
578
  }
579
579
  focusNode(element) {
580
- if (this.tree.droppableNodes)
581
- element.children[1].focus();
582
- else
583
- element.children[0].focus();
580
+ element.children[0].focus();
584
581
  }
585
582
  focusRowChange(firstFocusableRow, currentFocusedRow, lastVisibleDescendant) {
586
583
  firstFocusableRow.tabIndex = '-1';
@@ -863,6 +860,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
863
860
  */
864
861
  class Tree extends BaseComponent {
865
862
  dragDropService;
863
+ componentName = 'Tree';
866
864
  bindDirectiveInstance = inject(Bind, { self: true });
867
865
  $pcTree = inject(TREE_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
868
866
  onAfterViewChecked() {