primeng 21.1.9 → 22.0.0-rc.2

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 (560) hide show
  1. package/LICENSE.md +25 -57
  2. package/README.md +6 -2
  3. package/fesm2022/primeng-accordion.mjs +214 -192
  4. package/fesm2022/primeng-accordion.mjs.map +1 -1
  5. package/fesm2022/primeng-animateonscroll.mjs +43 -52
  6. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  7. package/fesm2022/primeng-api.mjs +42 -33
  8. package/fesm2022/primeng-api.mjs.map +1 -1
  9. package/fesm2022/primeng-autocomplete.mjs +881 -1051
  10. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  11. package/fesm2022/primeng-autofocus.mjs +13 -18
  12. package/fesm2022/primeng-autofocus.mjs.map +1 -1
  13. package/fesm2022/primeng-avatar.mjs +71 -74
  14. package/fesm2022/primeng-avatar.mjs.map +1 -1
  15. package/fesm2022/primeng-avatargroup.mjs +13 -20
  16. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  17. package/fesm2022/primeng-badge.mjs +45 -301
  18. package/fesm2022/primeng-badge.mjs.map +1 -1
  19. package/fesm2022/primeng-base.mjs +3 -3
  20. package/fesm2022/primeng-base.mjs.map +1 -1
  21. package/fesm2022/primeng-basecomponent.mjs +79 -30
  22. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  23. package/fesm2022/primeng-baseeditableholder.mjs +9 -6
  24. package/fesm2022/primeng-baseeditableholder.mjs.map +1 -1
  25. package/fesm2022/primeng-baseinput.mjs +28 -13
  26. package/fesm2022/primeng-baseinput.mjs.map +1 -1
  27. package/fesm2022/primeng-basemodelholder.mjs +7 -5
  28. package/fesm2022/primeng-basemodelholder.mjs.map +1 -1
  29. package/fesm2022/primeng-bind.mjs +22 -19
  30. package/fesm2022/primeng-bind.mjs.map +1 -1
  31. package/fesm2022/primeng-blockui.mjs +86 -110
  32. package/fesm2022/primeng-blockui.mjs.map +1 -1
  33. package/fesm2022/primeng-breadcrumb.mjs +414 -350
  34. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  35. package/fesm2022/primeng-button.mjs +556 -785
  36. package/fesm2022/primeng-button.mjs.map +1 -1
  37. package/fesm2022/primeng-buttongroup.mjs +11 -11
  38. package/fesm2022/primeng-buttongroup.mjs.map +1 -1
  39. package/fesm2022/primeng-card.mjs +103 -163
  40. package/fesm2022/primeng-card.mjs.map +1 -1
  41. package/fesm2022/primeng-carousel.mjs +1430 -583
  42. package/fesm2022/primeng-carousel.mjs.map +1 -1
  43. package/fesm2022/primeng-cascadeselect.mjs +596 -661
  44. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  45. package/fesm2022/primeng-chart.mjs +65 -100
  46. package/fesm2022/primeng-chart.mjs.map +1 -1
  47. package/fesm2022/primeng-checkbox.mjs +178 -204
  48. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  49. package/fesm2022/primeng-chip.mjs +145 -219
  50. package/fesm2022/primeng-chip.mjs.map +1 -1
  51. package/fesm2022/primeng-classnames.mjs +9 -8
  52. package/fesm2022/primeng-classnames.mjs.map +1 -1
  53. package/fesm2022/primeng-colorpicker.mjs +129 -193
  54. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  55. package/fesm2022/primeng-commandmenu.mjs +421 -0
  56. package/fesm2022/primeng-commandmenu.mjs.map +1 -0
  57. package/fesm2022/primeng-compare.mjs +520 -0
  58. package/fesm2022/primeng-compare.mjs.map +1 -0
  59. package/fesm2022/primeng-config.mjs +47 -22
  60. package/fesm2022/primeng-config.mjs.map +1 -1
  61. package/fesm2022/primeng-confirmdialog.mjs +303 -415
  62. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  63. package/fesm2022/primeng-confirmpopup.mjs +252 -268
  64. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  65. package/fesm2022/primeng-contextmenu.mjs +550 -637
  66. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  67. package/fesm2022/primeng-dataview.mjs +323 -390
  68. package/fesm2022/primeng-dataview.mjs.map +1 -1
  69. package/fesm2022/primeng-datepicker.mjs +1697 -1671
  70. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  71. package/fesm2022/primeng-dialog.mjs +463 -640
  72. package/fesm2022/primeng-dialog.mjs.map +1 -1
  73. package/fesm2022/primeng-divider.mjs +56 -58
  74. package/fesm2022/primeng-divider.mjs.map +1 -1
  75. package/fesm2022/primeng-dock.mjs +262 -272
  76. package/fesm2022/primeng-dock.mjs.map +1 -1
  77. package/fesm2022/primeng-dom.mjs +2 -2
  78. package/fesm2022/primeng-dom.mjs.map +1 -1
  79. package/fesm2022/primeng-dragdrop.mjs +29 -53
  80. package/fesm2022/primeng-dragdrop.mjs.map +1 -1
  81. package/fesm2022/primeng-drawer.mjs +196 -264
  82. package/fesm2022/primeng-drawer.mjs.map +1 -1
  83. package/fesm2022/primeng-dynamicdialog.mjs +310 -289
  84. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  85. package/fesm2022/primeng-editor.mjs +179 -207
  86. package/fesm2022/primeng-editor.mjs.map +1 -1
  87. package/fesm2022/primeng-fieldset.mjs +172 -210
  88. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  89. package/fesm2022/primeng-fileupload.mjs +743 -834
  90. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  91. package/fesm2022/primeng-floatlabel.mjs +28 -35
  92. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  93. package/fesm2022/primeng-fluid.mjs +10 -10
  94. package/fesm2022/primeng-fluid.mjs.map +1 -1
  95. package/fesm2022/primeng-focustrap.mjs +34 -29
  96. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  97. package/fesm2022/primeng-galleria.mjs +1459 -1740
  98. package/fesm2022/primeng-galleria.mjs.map +1 -1
  99. package/fesm2022/primeng-gallery.mjs +1859 -0
  100. package/fesm2022/primeng-gallery.mjs.map +1 -0
  101. package/fesm2022/primeng-iconfield.mjs +20 -37
  102. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  103. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  104. package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -1
  105. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  106. package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -1
  107. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  108. package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -1
  109. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  110. package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -1
  111. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  112. package/fesm2022/primeng-icons-angledown.mjs.map +1 -1
  113. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  114. package/fesm2022/primeng-icons-angleleft.mjs.map +1 -1
  115. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  116. package/fesm2022/primeng-icons-angleright.mjs.map +1 -1
  117. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  118. package/fesm2022/primeng-icons-angleup.mjs.map +1 -1
  119. package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
  120. package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
  121. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  122. package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -1
  123. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  124. package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -1
  125. package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
  126. package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
  127. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  128. package/fesm2022/primeng-icons-arrowright.mjs.map +1 -1
  129. package/fesm2022/primeng-icons-arrowup.mjs +3 -3
  130. package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
  131. package/fesm2022/primeng-icons-ban.mjs +3 -3
  132. package/fesm2022/primeng-icons-ban.mjs.map +1 -1
  133. package/fesm2022/primeng-icons-bars.mjs +3 -3
  134. package/fesm2022/primeng-icons-bars.mjs.map +1 -1
  135. package/fesm2022/primeng-icons-baseicon.mjs +6 -6
  136. package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
  137. package/fesm2022/primeng-icons-blank.mjs +3 -3
  138. package/fesm2022/primeng-icons-blank.mjs.map +1 -1
  139. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  140. package/fesm2022/primeng-icons-calendar.mjs.map +1 -1
  141. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  142. package/fesm2022/primeng-icons-caretleft.mjs.map +1 -1
  143. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  144. package/fesm2022/primeng-icons-caretright.mjs.map +1 -1
  145. package/fesm2022/primeng-icons-check.mjs +3 -3
  146. package/fesm2022/primeng-icons-check.mjs.map +1 -1
  147. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  148. package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -1
  149. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  150. package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -1
  151. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  152. package/fesm2022/primeng-icons-chevronright.mjs.map +1 -1
  153. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  154. package/fesm2022/primeng-icons-chevronup.mjs.map +1 -1
  155. package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
  156. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
  157. package/fesm2022/primeng-icons-eye.mjs +3 -3
  158. package/fesm2022/primeng-icons-eye.mjs.map +1 -1
  159. package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
  160. package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
  161. package/fesm2022/primeng-icons-filter.mjs +3 -3
  162. package/fesm2022/primeng-icons-filter.mjs.map +1 -1
  163. package/fesm2022/primeng-icons-filterfill.mjs +3 -3
  164. package/fesm2022/primeng-icons-filterfill.mjs.map +1 -1
  165. package/fesm2022/primeng-icons-filterslash.mjs +3 -3
  166. package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
  167. package/fesm2022/primeng-icons-home.mjs +3 -3
  168. package/fesm2022/primeng-icons-home.mjs.map +1 -1
  169. package/fesm2022/primeng-icons-infocircle.mjs +3 -3
  170. package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
  171. package/fesm2022/primeng-icons-minus.mjs +3 -3
  172. package/fesm2022/primeng-icons-minus.mjs.map +1 -1
  173. package/fesm2022/primeng-icons-pencil.mjs +3 -3
  174. package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
  175. package/fesm2022/primeng-icons-plus.mjs +3 -3
  176. package/fesm2022/primeng-icons-plus.mjs.map +1 -1
  177. package/fesm2022/primeng-icons-refresh.mjs +3 -3
  178. package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
  179. package/fesm2022/primeng-icons-search.mjs +3 -3
  180. package/fesm2022/primeng-icons-search.mjs.map +1 -1
  181. package/fesm2022/primeng-icons-searchminus.mjs +3 -3
  182. package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
  183. package/fesm2022/primeng-icons-searchplus.mjs +3 -3
  184. package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
  185. package/fesm2022/primeng-icons-sortalt.mjs +3 -3
  186. package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
  187. package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
  188. package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
  189. package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
  190. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
  191. package/fesm2022/primeng-icons-spinner.mjs +3 -3
  192. package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
  193. package/fesm2022/primeng-icons-star.mjs +3 -3
  194. package/fesm2022/primeng-icons-star.mjs.map +1 -1
  195. package/fesm2022/primeng-icons-starfill.mjs +3 -3
  196. package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
  197. package/fesm2022/primeng-icons-thlarge.mjs +3 -3
  198. package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
  199. package/fesm2022/primeng-icons-times.mjs +3 -3
  200. package/fesm2022/primeng-icons-times.mjs.map +1 -1
  201. package/fesm2022/primeng-icons-timescircle.mjs +3 -3
  202. package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
  203. package/fesm2022/primeng-icons-trash.mjs +3 -3
  204. package/fesm2022/primeng-icons-trash.mjs.map +1 -1
  205. package/fesm2022/primeng-icons-undo.mjs +3 -3
  206. package/fesm2022/primeng-icons-undo.mjs.map +1 -1
  207. package/fesm2022/primeng-icons-upload.mjs +3 -3
  208. package/fesm2022/primeng-icons-upload.mjs.map +1 -1
  209. package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
  210. package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
  211. package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
  212. package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
  213. package/fesm2022/primeng-iftalabel.mjs +16 -26
  214. package/fesm2022/primeng-iftalabel.mjs.map +1 -1
  215. package/fesm2022/primeng-image.mjs +253 -327
  216. package/fesm2022/primeng-image.mjs.map +1 -1
  217. package/fesm2022/primeng-imagecompare.mjs +46 -69
  218. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  219. package/fesm2022/primeng-inplace.mjs +79 -172
  220. package/fesm2022/primeng-inplace.mjs.map +1 -1
  221. package/fesm2022/primeng-inputcolor.mjs +2262 -0
  222. package/fesm2022/primeng-inputcolor.mjs.map +1 -0
  223. package/fesm2022/primeng-inputgroup.mjs +16 -31
  224. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  225. package/fesm2022/primeng-inputgroupaddon.mjs +14 -34
  226. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  227. package/fesm2022/primeng-inputicon.mjs +18 -28
  228. package/fesm2022/primeng-inputicon.mjs.map +1 -1
  229. package/fesm2022/primeng-inputmask.mjs +259 -273
  230. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  231. package/fesm2022/primeng-inputnumber.mjs +458 -505
  232. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  233. package/fesm2022/primeng-inputotp.mjs +117 -136
  234. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  235. package/fesm2022/primeng-inputpassword.mjs +102 -0
  236. package/fesm2022/primeng-inputpassword.mjs.map +1 -0
  237. package/fesm2022/primeng-inputtags.mjs +748 -0
  238. package/fesm2022/primeng-inputtags.mjs.map +1 -0
  239. package/fesm2022/primeng-inputtext.mjs +39 -61
  240. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  241. package/fesm2022/primeng-keyfilter.mjs +38 -62
  242. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  243. package/fesm2022/primeng-knob.mjs +106 -139
  244. package/fesm2022/primeng-knob.mjs.map +1 -1
  245. package/fesm2022/primeng-label.mjs +85 -0
  246. package/fesm2022/primeng-label.mjs.map +1 -0
  247. package/fesm2022/primeng-license.mjs +39 -0
  248. package/fesm2022/primeng-license.mjs.map +1 -0
  249. package/fesm2022/primeng-listbox.mjs +960 -835
  250. package/fesm2022/primeng-listbox.mjs.map +1 -1
  251. package/fesm2022/primeng-megamenu.mjs +781 -783
  252. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  253. package/fesm2022/primeng-menu.mjs +635 -559
  254. package/fesm2022/primeng-menu.mjs.map +1 -1
  255. package/fesm2022/primeng-menubar.mjs +651 -741
  256. package/fesm2022/primeng-menubar.mjs.map +1 -1
  257. package/fesm2022/primeng-message.mjs +97 -198
  258. package/fesm2022/primeng-message.mjs.map +1 -1
  259. package/fesm2022/primeng-metergroup.mjs +199 -283
  260. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  261. package/fesm2022/primeng-motion.mjs +59 -48
  262. package/fesm2022/primeng-motion.mjs.map +1 -1
  263. package/fesm2022/primeng-multiselect.mjs +1002 -1157
  264. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  265. package/fesm2022/primeng-orderlist.mjs +424 -614
  266. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  267. package/fesm2022/primeng-organizationchart.mjs +662 -376
  268. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  269. package/fesm2022/primeng-overlay.mjs +272 -400
  270. package/fesm2022/primeng-overlay.mjs.map +1 -1
  271. package/fesm2022/primeng-overlaybadge.mjs +29 -56
  272. package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
  273. package/fesm2022/primeng-paginator.mjs +391 -455
  274. package/fesm2022/primeng-paginator.mjs.map +1 -1
  275. package/fesm2022/primeng-panel.mjs +218 -299
  276. package/fesm2022/primeng-panel.mjs.map +1 -1
  277. package/fesm2022/primeng-panelmenu.mjs +853 -873
  278. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  279. package/fesm2022/primeng-password.mjs +275 -361
  280. package/fesm2022/primeng-password.mjs.map +1 -1
  281. package/fesm2022/primeng-picklist.mjs +881 -1124
  282. package/fesm2022/primeng-picklist.mjs.map +1 -1
  283. package/fesm2022/primeng-popover.mjs +102 -142
  284. package/fesm2022/primeng-popover.mjs.map +1 -1
  285. package/fesm2022/primeng-progressbar.mjs +80 -96
  286. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  287. package/fesm2022/primeng-progressspinner.mjs +215 -50
  288. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  289. package/fesm2022/primeng-radiobutton.mjs +85 -118
  290. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  291. package/fesm2022/primeng-rating.mjs +250 -172
  292. package/fesm2022/primeng-rating.mjs.map +1 -1
  293. package/fesm2022/primeng-ripple.mjs +14 -18
  294. package/fesm2022/primeng-ripple.mjs.map +1 -1
  295. package/fesm2022/primeng-scrollarea.mjs +730 -0
  296. package/fesm2022/primeng-scrollarea.mjs.map +1 -0
  297. package/fesm2022/primeng-scroller.mjs +473 -617
  298. package/fesm2022/primeng-scroller.mjs.map +1 -1
  299. package/fesm2022/primeng-scrollpanel.mjs +98 -127
  300. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  301. package/fesm2022/primeng-scrolltop.mjs +121 -145
  302. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  303. package/fesm2022/primeng-select.mjs +968 -1074
  304. package/fesm2022/primeng-select.mjs.map +1 -1
  305. package/fesm2022/primeng-selectbutton.mjs +117 -160
  306. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  307. package/fesm2022/primeng-sidebar.mjs +1462 -0
  308. package/fesm2022/primeng-sidebar.mjs.map +1 -0
  309. package/fesm2022/primeng-skeleton.mjs +51 -60
  310. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  311. package/fesm2022/primeng-slider.mjs +566 -679
  312. package/fesm2022/primeng-slider.mjs.map +1 -1
  313. package/fesm2022/primeng-speeddial.mjs +352 -397
  314. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  315. package/fesm2022/primeng-splitbutton.mjs +241 -343
  316. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  317. package/fesm2022/primeng-splitter.mjs +590 -338
  318. package/fesm2022/primeng-splitter.mjs.map +1 -1
  319. package/fesm2022/primeng-stepper.mjs +382 -400
  320. package/fesm2022/primeng-stepper.mjs.map +1 -1
  321. package/fesm2022/primeng-steps.mjs +11 -11
  322. package/fesm2022/primeng-steps.mjs.map +1 -1
  323. package/fesm2022/primeng-styleclass.mjs +89 -112
  324. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  325. package/fesm2022/primeng-table.mjs +3714 -4341
  326. package/fesm2022/primeng-table.mjs.map +1 -1
  327. package/fesm2022/primeng-tabs.mjs +189 -168
  328. package/fesm2022/primeng-tabs.mjs.map +1 -1
  329. package/fesm2022/primeng-tag.mjs +71 -90
  330. package/fesm2022/primeng-tag.mjs.map +1 -1
  331. package/fesm2022/primeng-terminal.mjs +62 -69
  332. package/fesm2022/primeng-terminal.mjs.map +1 -1
  333. package/fesm2022/primeng-textarea.mjs +40 -57
  334. package/fesm2022/primeng-textarea.mjs.map +1 -1
  335. package/fesm2022/primeng-tieredmenu.mjs +627 -705
  336. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  337. package/fesm2022/primeng-timeline.mjs +73 -112
  338. package/fesm2022/primeng-timeline.mjs.map +1 -1
  339. package/fesm2022/primeng-toast.mjs +742 -357
  340. package/fesm2022/primeng-toast.mjs.map +1 -1
  341. package/fesm2022/primeng-togglebutton.mjs +131 -175
  342. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  343. package/fesm2022/primeng-toggleswitch.mjs +91 -141
  344. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  345. package/fesm2022/primeng-toolbar.mjs +53 -84
  346. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  347. package/fesm2022/primeng-tooltip.mjs +239 -311
  348. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  349. package/fesm2022/primeng-tree.mjs +967 -917
  350. package/fesm2022/primeng-tree.mjs.map +1 -1
  351. package/fesm2022/primeng-treeselect.mjs +442 -587
  352. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  353. package/fesm2022/primeng-treetable.mjs +2096 -2366
  354. package/fesm2022/primeng-treetable.mjs.map +1 -1
  355. package/fesm2022/primeng-types-commandmenu.mjs +4 -0
  356. package/fesm2022/primeng-types-commandmenu.mjs.map +1 -0
  357. package/fesm2022/primeng-types-compare.mjs +4 -0
  358. package/fesm2022/primeng-types-compare.mjs.map +1 -0
  359. package/fesm2022/primeng-types-gallery.mjs +4 -0
  360. package/fesm2022/primeng-types-gallery.mjs.map +1 -0
  361. package/fesm2022/primeng-types-inputcolor.mjs +4 -0
  362. package/fesm2022/primeng-types-inputcolor.mjs.map +1 -0
  363. package/fesm2022/primeng-types-inputpassword.mjs +4 -0
  364. package/fesm2022/primeng-types-inputpassword.mjs.map +1 -0
  365. package/fesm2022/primeng-types-inputtags.mjs +4 -0
  366. package/fesm2022/primeng-types-inputtags.mjs.map +1 -0
  367. package/fesm2022/primeng-types-label.mjs +4 -0
  368. package/fesm2022/primeng-types-label.mjs.map +1 -0
  369. package/fesm2022/primeng-types-scrollarea.mjs +4 -0
  370. package/fesm2022/primeng-types-scrollarea.mjs.map +1 -0
  371. package/fesm2022/primeng-types-shared.mjs +4 -0
  372. package/fesm2022/primeng-types-shared.mjs.map +1 -0
  373. package/fesm2022/primeng-types-sidebar.mjs +4 -0
  374. package/fesm2022/primeng-types-sidebar.mjs.map +1 -0
  375. package/fesm2022/primeng-usestyle.mjs +3 -3
  376. package/fesm2022/primeng-usestyle.mjs.map +1 -1
  377. package/fesm2022/primeng-utils.mjs.map +1 -1
  378. package/package.json +99 -20
  379. package/types/primeng-accordion.d.ts +45 -82
  380. package/types/primeng-animateonscroll.d.ts +15 -17
  381. package/types/primeng-api.d.ts +48 -18
  382. package/types/primeng-autocomplete.d.ts +210 -229
  383. package/types/primeng-autofocus.d.ts +2 -4
  384. package/types/primeng-avatar.d.ts +19 -26
  385. package/types/primeng-avatargroup.d.ts +4 -12
  386. package/types/primeng-badge.d.ts +10 -98
  387. package/types/primeng-base.d.ts +6 -6
  388. package/types/primeng-basecomponent.d.ts +3 -0
  389. package/types/primeng-baseinput.d.ts +2 -1
  390. package/types/primeng-bind.d.ts +3 -4
  391. package/types/primeng-blockui.d.ts +11 -25
  392. package/types/primeng-breadcrumb.d.ts +30 -30
  393. package/types/primeng-button.d.ts +242 -265
  394. package/types/primeng-buttongroup.d.ts +1 -1
  395. package/types/primeng-card.d.ts +28 -47
  396. package/types/primeng-carousel.d.ts +411 -112
  397. package/types/primeng-cascadeselect.d.ts +151 -198
  398. package/types/primeng-chart.d.ts +31 -33
  399. package/types/primeng-checkbox.d.ts +60 -64
  400. package/types/primeng-chip.d.ts +38 -46
  401. package/types/primeng-colorpicker.d.ts +40 -62
  402. package/types/primeng-commandmenu.d.ts +182 -0
  403. package/types/primeng-compare.d.ts +225 -0
  404. package/types/primeng-config.d.ts +63 -18
  405. package/types/primeng-confirmdialog.d.ts +79 -95
  406. package/types/primeng-confirmpopup.d.ts +33 -39
  407. package/types/primeng-contextmenu.d.ts +125 -118
  408. package/types/primeng-dataview.d.ts +74 -92
  409. package/types/primeng-datepicker.d.ts +167 -198
  410. package/types/primeng-dialog.d.ts +100 -174
  411. package/types/primeng-divider.d.ts +9 -15
  412. package/types/primeng-dock.d.ts +48 -54
  413. package/types/primeng-dragdrop.d.ts +5 -9
  414. package/types/primeng-drawer.d.ts +38 -69
  415. package/types/primeng-dynamicdialog.d.ts +76 -54
  416. package/types/primeng-editor.d.ts +35 -44
  417. package/types/primeng-fieldset.d.ts +46 -63
  418. package/types/primeng-fileupload.d.ts +110 -130
  419. package/types/primeng-floatlabel.d.ts +6 -6
  420. package/types/primeng-focustrap.d.ts +6 -10
  421. package/types/primeng-galleria.d.ts +68 -312
  422. package/types/primeng-gallery.d.ts +653 -0
  423. package/types/primeng-iconfield.d.ts +6 -18
  424. package/types/primeng-iftalabel.d.ts +7 -9
  425. package/types/primeng-image.d.ts +59 -72
  426. package/types/primeng-imagecompare.d.ts +11 -14
  427. package/types/primeng-inplace.d.ts +13 -52
  428. package/types/primeng-inputcolor.d.ts +568 -0
  429. package/types/primeng-inputgroup.d.ts +1 -7
  430. package/types/primeng-inputgroupaddon.d.ts +1 -16
  431. package/types/primeng-inputicon.d.ts +3 -9
  432. package/types/primeng-inputmask.d.ts +63 -59
  433. package/types/primeng-inputnumber.d.ts +82 -94
  434. package/types/primeng-inputotp.d.ts +54 -56
  435. package/types/primeng-inputpassword.d.ts +63 -0
  436. package/types/primeng-inputtags.d.ts +315 -0
  437. package/types/primeng-inputtext.d.ts +10 -15
  438. package/types/primeng-keyfilter.d.ts +9 -12
  439. package/types/primeng-knob.d.ts +31 -42
  440. package/types/primeng-label.d.ts +55 -0
  441. package/types/primeng-license.d.ts +23 -0
  442. package/types/primeng-listbox.d.ts +277 -149
  443. package/types/primeng-megamenu.d.ts +144 -133
  444. package/types/primeng-menu.d.ts +155 -137
  445. package/types/primeng-menubar.d.ts +148 -166
  446. package/types/primeng-message.d.ts +29 -75
  447. package/types/primeng-metergroup.d.ts +54 -54
  448. package/types/primeng-multiselect.d.ts +195 -222
  449. package/types/primeng-orderlist.d.ts +146 -113
  450. package/types/primeng-organizationchart.d.ts +112 -138
  451. package/types/primeng-overlay.d.ts +59 -114
  452. package/types/primeng-overlaybadge.d.ts +11 -21
  453. package/types/primeng-paginator.d.ts +57 -90
  454. package/types/primeng-panel.d.ts +48 -71
  455. package/types/primeng-panelmenu.d.ts +60 -179
  456. package/types/primeng-password.d.ts +74 -109
  457. package/types/primeng-picklist.d.ts +307 -201
  458. package/types/primeng-popover.d.ts +36 -55
  459. package/types/primeng-progressbar.d.ts +26 -32
  460. package/types/primeng-progressspinner.d.ts +60 -26
  461. package/types/primeng-radiobutton.d.ts +33 -38
  462. package/types/primeng-rating.d.ts +71 -57
  463. package/types/primeng-ripple.d.ts +2 -5
  464. package/types/primeng-scrollarea.d.ts +286 -0
  465. package/types/primeng-scroller.d.ts +145 -135
  466. package/types/primeng-scrollpanel.d.ts +32 -42
  467. package/types/primeng-scrolltop.d.ts +33 -49
  468. package/types/primeng-select.d.ts +163 -198
  469. package/types/primeng-selectbutton.d.ts +45 -47
  470. package/types/primeng-sidebar.d.ts +669 -0
  471. package/types/primeng-skeleton.d.ts +23 -24
  472. package/types/primeng-slider.d.ts +205 -102
  473. package/types/primeng-speeddial.d.ts +72 -98
  474. package/types/primeng-splitbutton.d.ts +54 -89
  475. package/types/primeng-splitter.d.ts +213 -91
  476. package/types/primeng-stepper.d.ts +192 -218
  477. package/types/primeng-styleclass.d.ts +20 -25
  478. package/types/primeng-table.d.ts +529 -654
  479. package/types/primeng-tabs.d.ts +34 -38
  480. package/types/primeng-tag.d.ts +12 -23
  481. package/types/primeng-terminal.d.ts +12 -16
  482. package/types/primeng-textarea.d.ts +23 -24
  483. package/types/primeng-tieredmenu.d.ts +134 -147
  484. package/types/primeng-timeline.d.ts +18 -31
  485. package/types/primeng-toast.d.ts +70 -105
  486. package/types/primeng-togglebutton.d.ts +47 -51
  487. package/types/primeng-toggleswitch.d.ts +36 -43
  488. package/types/primeng-toolbar.d.ts +7 -18
  489. package/types/primeng-tooltip.d.ts +51 -86
  490. package/types/primeng-tree.d.ts +107 -204
  491. package/types/primeng-treeselect.d.ts +115 -130
  492. package/types/primeng-treetable.d.ts +467 -400
  493. package/types/primeng-types-accordion.d.ts +39 -1
  494. package/types/primeng-types-avatar.d.ts +11 -1
  495. package/types/primeng-types-badge.d.ts +11 -1
  496. package/types/primeng-types-button.d.ts +26 -7
  497. package/types/primeng-types-carousel.d.ts +102 -1
  498. package/types/primeng-types-cascadeselect.d.ts +64 -1
  499. package/types/primeng-types-chart.d.ts +26 -1
  500. package/types/primeng-types-checkbox.d.ts +4 -0
  501. package/types/primeng-types-chip.d.ts +2 -3
  502. package/types/primeng-types-colorpicker.d.ts +6 -1
  503. package/types/primeng-types-commandmenu.d.ts +154 -0
  504. package/types/primeng-types-compare.d.ts +55 -0
  505. package/types/primeng-types-confirmdialog.d.ts +15 -1
  506. package/types/primeng-types-confirmpopup.d.ts +6 -1
  507. package/types/primeng-types-contextmenu.d.ts +34 -1
  508. package/types/primeng-types-dataview.d.ts +12 -2
  509. package/types/primeng-types-datepicker.d.ts +16 -2
  510. package/types/primeng-types-dialog.d.ts +19 -2
  511. package/types/primeng-types-divider.d.ts +16 -1
  512. package/types/primeng-types-dock.d.ts +6 -1
  513. package/types/primeng-types-drawer.d.ts +2 -1
  514. package/types/primeng-types-fieldset.d.ts +20 -1
  515. package/types/primeng-types-fileupload.d.ts +60 -4
  516. package/types/primeng-types-floatlabel.d.ts +2 -1
  517. package/types/primeng-types-galleria.d.ts +10 -1
  518. package/types/primeng-types-gallery.d.ts +434 -0
  519. package/types/primeng-types-iconfield.d.ts +2 -1
  520. package/types/primeng-types-image.d.ts +6 -1
  521. package/types/primeng-types-inputcolor.d.ts +206 -0
  522. package/types/primeng-types-inputnumber.d.ts +21 -1
  523. package/types/primeng-types-inputpassword.d.ts +24 -0
  524. package/types/primeng-types-inputtags.d.ts +178 -0
  525. package/types/primeng-types-label.d.ts +24 -0
  526. package/types/primeng-types-megamenu.d.ts +47 -2
  527. package/types/primeng-types-menu.d.ts +23 -2
  528. package/types/primeng-types-menubar.d.ts +48 -1
  529. package/types/primeng-types-message.d.ts +26 -1
  530. package/types/primeng-types-metergroup.d.ts +4 -2
  531. package/types/primeng-types-multiselect.d.ts +41 -1
  532. package/types/primeng-types-orderlist.d.ts +5 -1
  533. package/types/primeng-types-organizationchart.d.ts +125 -37
  534. package/types/primeng-types-panel.d.ts +11 -1
  535. package/types/primeng-types-panelmenu.d.ts +50 -1
  536. package/types/primeng-types-picklist.d.ts +11 -1
  537. package/types/primeng-types-progressbar.d.ts +6 -1
  538. package/types/primeng-types-progressspinner.d.ts +13 -5
  539. package/types/primeng-types-scrollarea.d.ts +60 -0
  540. package/types/primeng-types-scrollpanel.d.ts +6 -1
  541. package/types/primeng-types-scrolltop.d.ts +11 -1
  542. package/types/primeng-types-select.d.ts +13 -2
  543. package/types/primeng-types-shared.d.ts +27 -0
  544. package/types/primeng-types-sidebar.d.ts +108 -0
  545. package/types/primeng-types-slider.d.ts +14 -1
  546. package/types/primeng-types-speeddial.d.ts +11 -1
  547. package/types/primeng-types-splitbutton.d.ts +6 -16
  548. package/types/primeng-types-splitter.d.ts +59 -2
  549. package/types/primeng-types-stepper.d.ts +25 -1
  550. package/types/primeng-types-table.d.ts +21 -10
  551. package/types/primeng-types-tabs.d.ts +6 -5
  552. package/types/primeng-types-tag.d.ts +2 -1
  553. package/types/primeng-types-tieredmenu.d.ts +111 -3
  554. package/types/primeng-types-timeline.d.ts +9 -1
  555. package/types/primeng-types-toast.d.ts +18 -1
  556. package/types/primeng-types-togglebutton.d.ts +6 -1
  557. package/types/primeng-types-tooltip.d.ts +11 -1
  558. package/types/primeng-types-tree.d.ts +14 -1
  559. package/types/primeng-types-treeselect.d.ts +16 -1
  560. package/types/primeng-types-treetable.d.ts +31 -1
@@ -0,0 +1,730 @@
1
+ export * from 'primeng/types/scrollarea';
2
+ import { isPlatformBrowser } from '@angular/common';
3
+ import * as i0 from '@angular/core';
4
+ import { InjectionToken, Injectable, inject, computed, ViewEncapsulation, ChangeDetectionStrategy, Component, ElementRef, input, booleanAttribute, numberAttribute, signal, NgModule } from '@angular/core';
5
+ import { SharedModule } from 'primeng/api';
6
+ import { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';
7
+ import * as i1 from 'primeng/bind';
8
+ import { Bind, BindModule } from 'primeng/bind';
9
+ import { style } from '@primeuix/styles/scrollarea';
10
+ import { BaseStyle } from 'primeng/base';
11
+
12
+ const SCROLLAREA_INSTANCE = new InjectionToken('SCROLLAREA_INSTANCE');
13
+ const SCROLLAREA_VIEWPORT_INSTANCE = new InjectionToken('SCROLLAREA_VIEWPORT_INSTANCE');
14
+ const SCROLLAREA_SCROLLBAR_INSTANCE = new InjectionToken('SCROLLAREA_SCROLLBAR_INSTANCE');
15
+
16
+ const classes = {
17
+ root: ({ instance }) => ['p-scrollarea p-component', { 'p-scrollarea-mask': instance.mask() }],
18
+ viewport: 'p-scrollarea-viewport',
19
+ content: 'p-scrollarea-content',
20
+ scrollbar: 'p-scrollarea-scrollbar',
21
+ handle: 'p-scrollarea-handle',
22
+ corner: 'p-scrollarea-corner'
23
+ };
24
+ const inlineStyles = {
25
+ root: {
26
+ position: 'relative'
27
+ },
28
+ viewport: {
29
+ overflow: 'scroll',
30
+ scrollbarWidth: 'none'
31
+ },
32
+ scrollbar: ({ instance }) => {
33
+ const isVertical = instance.orientation() === 'vertical';
34
+ return {
35
+ position: 'absolute',
36
+ touchAction: 'none',
37
+ userSelect: 'none',
38
+ WebkitUserSelect: 'none',
39
+ display: instance.isHidden() ? 'none' : undefined,
40
+ top: isVertical ? 0 : undefined,
41
+ bottom: isVertical ? 'var(--px-corner-height)' : 0,
42
+ insetInlineEnd: isVertical ? 0 : 'var(--px-corner-width)',
43
+ insetInlineStart: !isVertical ? 0 : undefined
44
+ };
45
+ },
46
+ corner: ({ instance }) => ({
47
+ position: 'absolute',
48
+ bottom: 0,
49
+ insetInlineEnd: 0,
50
+ display: instance.isHidden() ? 'none' : undefined
51
+ })
52
+ };
53
+ class ScrollAreaStyle extends BaseStyle {
54
+ name = 'scrollarea';
55
+ style = style;
56
+ classes = classes;
57
+ inlineStyles = inlineStyles;
58
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollAreaStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
59
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollAreaStyle });
60
+ }
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollAreaStyle, decorators: [{
62
+ type: Injectable
63
+ }] });
64
+ /**
65
+ *
66
+ * ScrollArea is a cross browser, lightweight and themable alternative to native browser scrollbar.
67
+ *
68
+ * [Live Demo](https://www.primeng.org/scrollarea)
69
+ *
70
+ * @module scrollareastyle
71
+ *
72
+ */
73
+ var ScrollAreaClasses;
74
+ (function (ScrollAreaClasses) {
75
+ /**
76
+ * Class name of the root element
77
+ */
78
+ ScrollAreaClasses["root"] = "p-scrollarea";
79
+ /**
80
+ * Class name of the viewport element
81
+ */
82
+ ScrollAreaClasses["viewport"] = "p-scrollarea-viewport";
83
+ /**
84
+ * Class name of the content element
85
+ */
86
+ ScrollAreaClasses["content"] = "p-scrollarea-content";
87
+ /**
88
+ * Class name of the scrollbar element
89
+ */
90
+ ScrollAreaClasses["scrollbar"] = "p-scrollarea-scrollbar";
91
+ /**
92
+ * Class name of the handle element
93
+ */
94
+ ScrollAreaClasses["handle"] = "p-scrollarea-handle";
95
+ /**
96
+ * Class name of the corner element
97
+ */
98
+ ScrollAreaClasses["corner"] = "p-scrollarea-corner";
99
+ })(ScrollAreaClasses || (ScrollAreaClasses = {}));
100
+
101
+ /**
102
+ * ScrollAreaContent is a helper component for ScrollArea component.
103
+ * @group Components
104
+ */
105
+ class ScrollAreaContent extends BaseComponent {
106
+ componentName = 'ScrollAreaContent';
107
+ bindDirectiveInstance = inject(Bind, { self: true });
108
+ pcScrollArea = inject(SCROLLAREA_INSTANCE);
109
+ _componentStyle = inject(ScrollAreaStyle);
110
+ contentMinWidth = computed(() => (this.pcScrollArea.hasOverflowX() ? 'fit-content' : null), /* @ts-ignore */
111
+ ...(ngDevMode ? [{ debugName: "contentMinWidth" }] : /* istanbul ignore next */ []));
112
+ contentMinHeight = computed(() => (this.pcScrollArea.hasOverflowY() ? 'fit-content' : null), /* @ts-ignore */
113
+ ...(ngDevMode ? [{ debugName: "contentMinHeight" }] : /* istanbul ignore next */ []));
114
+ onAfterViewChecked() {
115
+ this.bindDirectiveInstance.setAttrs(this.pcScrollArea.ptms(['content']));
116
+ }
117
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollAreaContent, deps: null, target: i0.ɵɵFactoryTarget.Component });
118
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: ScrollAreaContent, isStandalone: true, selector: "p-scrollarea-content, p-scroll-area-content", host: { properties: { "class": "cx(\"content\")", "style.min-width": "contentMinWidth()", "style.min-height": "contentMinHeight()" } }, providers: [{ provide: PARENT_INSTANCE, useExisting: ScrollAreaContent }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: BindModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
119
+ }
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollAreaContent, decorators: [{
121
+ type: Component,
122
+ args: [{
123
+ selector: 'p-scrollarea-content, p-scroll-area-content',
124
+ standalone: true,
125
+ imports: [BindModule],
126
+ template: `<ng-content></ng-content>`,
127
+ changeDetection: ChangeDetectionStrategy.OnPush,
128
+ encapsulation: ViewEncapsulation.None,
129
+ providers: [{ provide: PARENT_INSTANCE, useExisting: ScrollAreaContent }],
130
+ host: {
131
+ '[class]': 'cx("content")',
132
+ '[style.min-width]': 'contentMinWidth()',
133
+ '[style.min-height]': 'contentMinHeight()'
134
+ },
135
+ hostDirectives: [Bind]
136
+ }]
137
+ }] });
138
+
139
+ /**
140
+ * ScrollAreaCorner is a helper component for ScrollArea component.
141
+ * @group Components
142
+ */
143
+ class ScrollAreaCorner extends BaseComponent {
144
+ componentName = 'ScrollAreaCorner';
145
+ bindDirectiveInstance = inject(Bind, { self: true });
146
+ pcScrollArea = inject(SCROLLAREA_INSTANCE);
147
+ _componentStyle = inject(ScrollAreaStyle);
148
+ hostEl = inject(ElementRef);
149
+ isHidden = computed(() => this.pcScrollArea.cornerHidden(), /* @ts-ignore */
150
+ ...(ngDevMode ? [{ debugName: "isHidden" }] : /* istanbul ignore next */ []));
151
+ onAfterViewChecked() {
152
+ this.bindDirectiveInstance.setAttrs(this.pcScrollArea.ptms(['corner']));
153
+ }
154
+ onAfterViewInit() {
155
+ this.pcScrollArea.cornerEl = this.hostEl.nativeElement;
156
+ }
157
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollAreaCorner, deps: null, target: i0.ɵɵFactoryTarget.Component });
158
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: ScrollAreaCorner, isStandalone: true, selector: "p-scrollarea-corner, p-scroll-area-corner", host: { properties: { "class": "cx(\"corner\")", "style": "sx(\"corner\")" } }, providers: [{ provide: PARENT_INSTANCE, useExisting: ScrollAreaCorner }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: "ngmodule", type: BindModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
159
+ }
160
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollAreaCorner, decorators: [{
161
+ type: Component,
162
+ args: [{
163
+ selector: 'p-scrollarea-corner, p-scroll-area-corner',
164
+ standalone: true,
165
+ imports: [BindModule],
166
+ template: ``,
167
+ changeDetection: ChangeDetectionStrategy.OnPush,
168
+ encapsulation: ViewEncapsulation.None,
169
+ providers: [{ provide: PARENT_INSTANCE, useExisting: ScrollAreaCorner }],
170
+ host: {
171
+ '[class]': 'cx("corner")',
172
+ '[style]': 'sx("corner")'
173
+ },
174
+ hostDirectives: [Bind]
175
+ }]
176
+ }] });
177
+
178
+ /**
179
+ * ScrollAreaScrollbar is a helper component for ScrollArea component.
180
+ * @group Components
181
+ */
182
+ class ScrollAreaScrollbar extends BaseComponent {
183
+ componentName = 'ScrollAreaScrollbar';
184
+ $pcScrollAreaScrollbar = inject(SCROLLAREA_SCROLLBAR_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
185
+ bindDirectiveInstance = inject(Bind, { self: true });
186
+ pcScrollArea = inject(SCROLLAREA_INSTANCE);
187
+ _componentStyle = inject(ScrollAreaStyle);
188
+ hostEl = inject(ElementRef);
189
+ /**
190
+ * Orientation of the scrollbar.
191
+ * @group Props
192
+ */
193
+ orientation = input('vertical', /* @ts-ignore */
194
+ ...(ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []));
195
+ isVertical = computed(() => this.orientation() === 'vertical', /* @ts-ignore */
196
+ ...(ngDevMode ? [{ debugName: "isVertical" }] : /* istanbul ignore next */ []));
197
+ isHidden = computed(() => (this.isVertical() ? this.pcScrollArea.hiddenY() : this.pcScrollArea.hiddenX()), /* @ts-ignore */
198
+ ...(ngDevMode ? [{ debugName: "isHidden" }] : /* istanbul ignore next */ []));
199
+ dataHovering = computed(() => (this.pcScrollArea.hovering() ? '' : null), /* @ts-ignore */
200
+ ...(ngDevMode ? [{ debugName: "dataHovering" }] : /* istanbul ignore next */ []));
201
+ dataScrolling = computed(() => {
202
+ const isVertical = this.isVertical();
203
+ return (isVertical ? this.pcScrollArea.scrollingY() : this.pcScrollArea.scrollingX()) ? '' : null;
204
+ }, /* @ts-ignore */
205
+ ...(ngDevMode ? [{ debugName: "dataScrolling" }] : /* istanbul ignore next */ []));
206
+ onAfterViewChecked() {
207
+ this.bindDirectiveInstance.setAttrs(this.pcScrollArea.ptms(['scrollbar']));
208
+ }
209
+ onAfterViewInit() {
210
+ const el = this.hostEl.nativeElement;
211
+ if (this.isVertical()) {
212
+ this.pcScrollArea.scrollbarYEl = el;
213
+ }
214
+ else {
215
+ this.pcScrollArea.scrollbarXEl = el;
216
+ }
217
+ }
218
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollAreaScrollbar, deps: null, target: i0.ɵɵFactoryTarget.Component });
219
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: ScrollAreaScrollbar, isStandalone: true, selector: "p-scrollarea-scrollbar, p-scroll-area-scrollbar", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "pointerdown": "pcScrollArea.onScrollbarPointerDown($event, orientation())", "pointermove": "pcScrollArea.onScrollbarPointerMove($event)", "pointerup": "pcScrollArea.onScrollbarPointerUp($event)", "wheel": "pcScrollArea.onScrollbarWheel($event, orientation())" }, properties: { "class": "cx(\"scrollbar\")", "style": "sx(\"scrollbar\")", "attr.data-orientation": "orientation()", "attr.data-hovering": "dataHovering()", "attr.data-scrolling": "dataScrolling()" } }, providers: [
220
+ { provide: SCROLLAREA_SCROLLBAR_INSTANCE, useExisting: ScrollAreaScrollbar },
221
+ { provide: PARENT_INSTANCE, useExisting: ScrollAreaScrollbar }
222
+ ], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: BindModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
223
+ }
224
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollAreaScrollbar, decorators: [{
225
+ type: Component,
226
+ args: [{
227
+ selector: 'p-scrollarea-scrollbar, p-scroll-area-scrollbar',
228
+ standalone: true,
229
+ imports: [BindModule],
230
+ template: `<ng-content></ng-content>`,
231
+ changeDetection: ChangeDetectionStrategy.OnPush,
232
+ encapsulation: ViewEncapsulation.None,
233
+ providers: [
234
+ { provide: SCROLLAREA_SCROLLBAR_INSTANCE, useExisting: ScrollAreaScrollbar },
235
+ { provide: PARENT_INSTANCE, useExisting: ScrollAreaScrollbar }
236
+ ],
237
+ host: {
238
+ '[class]': 'cx("scrollbar")',
239
+ '[style]': 'sx("scrollbar")',
240
+ '[attr.data-orientation]': 'orientation()',
241
+ '[attr.data-hovering]': 'dataHovering()',
242
+ '[attr.data-scrolling]': 'dataScrolling()',
243
+ '(pointerdown)': 'pcScrollArea.onScrollbarPointerDown($event, orientation())',
244
+ '(pointermove)': 'pcScrollArea.onScrollbarPointerMove($event)',
245
+ '(pointerup)': 'pcScrollArea.onScrollbarPointerUp($event)',
246
+ '(wheel)': 'pcScrollArea.onScrollbarWheel($event, orientation())'
247
+ },
248
+ hostDirectives: [Bind]
249
+ }]
250
+ }], propDecorators: { orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }] } });
251
+
252
+ /**
253
+ * ScrollAreaHandle is a helper component for ScrollArea component.
254
+ * @group Components
255
+ */
256
+ class ScrollAreaHandle extends BaseComponent {
257
+ componentName = 'ScrollAreaHandle';
258
+ bindDirectiveInstance = inject(Bind, { self: true });
259
+ pcScrollArea = inject(SCROLLAREA_INSTANCE);
260
+ pcScrollbar = inject(SCROLLAREA_SCROLLBAR_INSTANCE);
261
+ _componentStyle = inject(ScrollAreaStyle);
262
+ hostEl = inject(ElementRef);
263
+ orientation = computed(() => this.pcScrollbar.orientation(), /* @ts-ignore */
264
+ ...(ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []));
265
+ isVertical = computed(() => this.orientation() === 'vertical', /* @ts-ignore */
266
+ ...(ngDevMode ? [{ debugName: "isVertical" }] : /* istanbul ignore next */ []));
267
+ handleHeight = computed(() => (this.isVertical() ? 'var(--px-handle-height, 0px)' : undefined), /* @ts-ignore */
268
+ ...(ngDevMode ? [{ debugName: "handleHeight" }] : /* istanbul ignore next */ []));
269
+ handleWidth = computed(() => (this.isVertical() ? undefined : 'var(--px-handle-width, 0px)'), /* @ts-ignore */
270
+ ...(ngDevMode ? [{ debugName: "handleWidth" }] : /* istanbul ignore next */ []));
271
+ handleTransform = computed(() => (this.isVertical() ? 'translate3d(0, var(--px-handle-offset, 0px), 0)' : 'translate3d(var(--px-handle-offset, 0px), 0, 0)'), /* @ts-ignore */
272
+ ...(ngDevMode ? [{ debugName: "handleTransform" }] : /* istanbul ignore next */ []));
273
+ onAfterViewChecked() {
274
+ this.bindDirectiveInstance.setAttrs(this.pcScrollArea.ptms(['handle']));
275
+ }
276
+ onAfterViewInit() {
277
+ const el = this.hostEl.nativeElement;
278
+ if (this.isVertical()) {
279
+ this.pcScrollArea.handleYEl = el;
280
+ }
281
+ else {
282
+ this.pcScrollArea.handleXEl = el;
283
+ }
284
+ }
285
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollAreaHandle, deps: null, target: i0.ɵɵFactoryTarget.Component });
286
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: ScrollAreaHandle, isStandalone: true, selector: "p-scrollarea-handle, p-scroll-area-handle", host: { listeners: { "pointerdown": "pcScrollArea.onHandlePointerDown($event, orientation())" }, properties: { "class": "cx(\"handle\")", "attr.data-orientation": "orientation()", "style.height": "handleHeight()", "style.width": "handleWidth()", "style.transform": "handleTransform()" } }, providers: [{ provide: PARENT_INSTANCE, useExisting: ScrollAreaHandle }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: "ngmodule", type: BindModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
287
+ }
288
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollAreaHandle, decorators: [{
289
+ type: Component,
290
+ args: [{
291
+ selector: 'p-scrollarea-handle, p-scroll-area-handle',
292
+ standalone: true,
293
+ imports: [BindModule],
294
+ template: ``,
295
+ changeDetection: ChangeDetectionStrategy.OnPush,
296
+ encapsulation: ViewEncapsulation.None,
297
+ providers: [{ provide: PARENT_INSTANCE, useExisting: ScrollAreaHandle }],
298
+ host: {
299
+ '[class]': 'cx("handle")',
300
+ '[attr.data-orientation]': 'orientation()',
301
+ '[style.height]': 'handleHeight()',
302
+ '[style.width]': 'handleWidth()',
303
+ '[style.transform]': 'handleTransform()',
304
+ '(pointerdown)': 'pcScrollArea.onHandlePointerDown($event, orientation())'
305
+ },
306
+ hostDirectives: [Bind]
307
+ }]
308
+ }] });
309
+
310
+ /**
311
+ * ScrollAreaViewport is a helper component for ScrollArea component.
312
+ * @group Components
313
+ */
314
+ class ScrollAreaViewport extends BaseComponent {
315
+ componentName = 'ScrollAreaViewport';
316
+ $pcScrollAreaViewport = inject(SCROLLAREA_VIEWPORT_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
317
+ bindDirectiveInstance = inject(Bind, { self: true });
318
+ pcScrollArea = inject(SCROLLAREA_INSTANCE);
319
+ _componentStyle = inject(ScrollAreaStyle);
320
+ hostEl = inject(ElementRef);
321
+ viewportTabindex = computed(() => (this.pcScrollArea.hasOverflowX() || this.pcScrollArea.hasOverflowY() ? this.pcScrollArea.tabindex() : null), /* @ts-ignore */
322
+ ...(ngDevMode ? [{ debugName: "viewportTabindex" }] : /* istanbul ignore next */ []));
323
+ dataScrollYBefore = computed(() => (this.pcScrollArea.yBefore() ? '' : null), /* @ts-ignore */
324
+ ...(ngDevMode ? [{ debugName: "dataScrollYBefore" }] : /* istanbul ignore next */ []));
325
+ dataScrollYAfter = computed(() => (this.pcScrollArea.yAfter() ? '' : null), /* @ts-ignore */
326
+ ...(ngDevMode ? [{ debugName: "dataScrollYAfter" }] : /* istanbul ignore next */ []));
327
+ dataScrollXBefore = computed(() => (this.pcScrollArea.xBefore() ? '' : null), /* @ts-ignore */
328
+ ...(ngDevMode ? [{ debugName: "dataScrollXBefore" }] : /* istanbul ignore next */ []));
329
+ dataScrollXAfter = computed(() => (this.pcScrollArea.xAfter() ? '' : null), /* @ts-ignore */
330
+ ...(ngDevMode ? [{ debugName: "dataScrollXAfter" }] : /* istanbul ignore next */ []));
331
+ onAfterViewChecked() {
332
+ this.bindDirectiveInstance.setAttrs(this.pcScrollArea.ptms(['viewport']));
333
+ }
334
+ onAfterViewInit() {
335
+ this.pcScrollArea.viewportEl = this.hostEl.nativeElement;
336
+ }
337
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollAreaViewport, deps: null, target: i0.ɵɵFactoryTarget.Component });
338
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: ScrollAreaViewport, isStandalone: true, selector: "p-scrollarea-viewport, p-scroll-area-viewport", host: { listeners: { "scroll": "pcScrollArea.onScroll()" }, properties: { "class": "cx(\"viewport\")", "style": "sx(\"viewport\")", "attr.tabindex": "viewportTabindex()", "attr.data-scroll-y-before": "dataScrollYBefore()", "attr.data-scroll-y-after": "dataScrollYAfter()", "attr.data-scroll-x-before": "dataScrollXBefore()", "attr.data-scroll-x-after": "dataScrollXAfter()" } }, providers: [
339
+ { provide: SCROLLAREA_VIEWPORT_INSTANCE, useExisting: ScrollAreaViewport },
340
+ { provide: PARENT_INSTANCE, useExisting: ScrollAreaViewport }
341
+ ], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: BindModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
342
+ }
343
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollAreaViewport, decorators: [{
344
+ type: Component,
345
+ args: [{
346
+ selector: 'p-scrollarea-viewport, p-scroll-area-viewport',
347
+ standalone: true,
348
+ imports: [BindModule],
349
+ template: `<ng-content></ng-content>`,
350
+ changeDetection: ChangeDetectionStrategy.OnPush,
351
+ encapsulation: ViewEncapsulation.None,
352
+ providers: [
353
+ { provide: SCROLLAREA_VIEWPORT_INSTANCE, useExisting: ScrollAreaViewport },
354
+ { provide: PARENT_INSTANCE, useExisting: ScrollAreaViewport }
355
+ ],
356
+ host: {
357
+ '[class]': 'cx("viewport")',
358
+ '[style]': 'sx("viewport")',
359
+ '[attr.tabindex]': 'viewportTabindex()',
360
+ '[attr.data-scroll-y-before]': 'dataScrollYBefore()',
361
+ '[attr.data-scroll-y-after]': 'dataScrollYAfter()',
362
+ '[attr.data-scroll-x-before]': 'dataScrollXBefore()',
363
+ '[attr.data-scroll-x-after]': 'dataScrollXAfter()',
364
+ '(scroll)': 'pcScrollArea.onScroll()'
365
+ },
366
+ hostDirectives: [Bind]
367
+ }]
368
+ }] });
369
+
370
+ const SCROLL_TIMEOUT = 500;
371
+ const MIN_HANDLE_SIZE = 20;
372
+ /**
373
+ * ScrollArea is a cross browser, lightweight and themable alternative to native browser scrollbar.
374
+ * @group Components
375
+ */
376
+ class ScrollArea extends BaseComponent {
377
+ componentName = 'ScrollArea';
378
+ $pcScrollArea = inject(SCROLLAREA_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
379
+ bindDirectiveInstance = inject(Bind, { self: true });
380
+ /**
381
+ * Scrollbar visibility variant.
382
+ * @group Props
383
+ */
384
+ variant = input('auto', /* @ts-ignore */
385
+ ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
386
+ /**
387
+ * Whether to show gradient mask at scroll edges.
388
+ * @group Props
389
+ */
390
+ mask = input(false, { ...(ngDevMode ? { debugName: "mask" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
391
+ /**
392
+ * Tabindex of the viewport when content overflows.
393
+ * @defaultValue 0
394
+ * @group Props
395
+ */
396
+ tabindex = input(0, { ...(ngDevMode ? { debugName: "tabindex" } : /* istanbul ignore next */ {}), transform: numberAttribute });
397
+ _componentStyle = inject(ScrollAreaStyle);
398
+ hovering = signal(false, /* @ts-ignore */
399
+ ...(ngDevMode ? [{ debugName: "hovering" }] : /* istanbul ignore next */ []));
400
+ scrollingX = signal(false, /* @ts-ignore */
401
+ ...(ngDevMode ? [{ debugName: "scrollingX" }] : /* istanbul ignore next */ []));
402
+ scrollingY = signal(false, /* @ts-ignore */
403
+ ...(ngDevMode ? [{ debugName: "scrollingY" }] : /* istanbul ignore next */ []));
404
+ touchModality = signal(false, /* @ts-ignore */
405
+ ...(ngDevMode ? [{ debugName: "touchModality" }] : /* istanbul ignore next */ []));
406
+ hiddenX = signal(true, /* @ts-ignore */
407
+ ...(ngDevMode ? [{ debugName: "hiddenX" }] : /* istanbul ignore next */ []));
408
+ hiddenY = signal(true, /* @ts-ignore */
409
+ ...(ngDevMode ? [{ debugName: "hiddenY" }] : /* istanbul ignore next */ []));
410
+ cornerHidden = signal(true, /* @ts-ignore */
411
+ ...(ngDevMode ? [{ debugName: "cornerHidden" }] : /* istanbul ignore next */ []));
412
+ hasOverflowX = signal(false, /* @ts-ignore */
413
+ ...(ngDevMode ? [{ debugName: "hasOverflowX" }] : /* istanbul ignore next */ []));
414
+ hasOverflowY = signal(false, /* @ts-ignore */
415
+ ...(ngDevMode ? [{ debugName: "hasOverflowY" }] : /* istanbul ignore next */ []));
416
+ yBefore = signal(false, /* @ts-ignore */
417
+ ...(ngDevMode ? [{ debugName: "yBefore" }] : /* istanbul ignore next */ []));
418
+ yAfter = signal(false, /* @ts-ignore */
419
+ ...(ngDevMode ? [{ debugName: "yAfter" }] : /* istanbul ignore next */ []));
420
+ xBefore = signal(false, /* @ts-ignore */
421
+ ...(ngDevMode ? [{ debugName: "xBefore" }] : /* istanbul ignore next */ []));
422
+ xAfter = signal(false, /* @ts-ignore */
423
+ ...(ngDevMode ? [{ debugName: "xAfter" }] : /* istanbul ignore next */ []));
424
+ cornerWidthValue = signal(0, /* @ts-ignore */
425
+ ...(ngDevMode ? [{ debugName: "cornerWidthValue" }] : /* istanbul ignore next */ []));
426
+ cornerHeightValue = signal(0, /* @ts-ignore */
427
+ ...(ngDevMode ? [{ debugName: "cornerHeightValue" }] : /* istanbul ignore next */ []));
428
+ cornerWidthPx = computed(() => `${this.cornerWidthValue()}px`, /* @ts-ignore */
429
+ ...(ngDevMode ? [{ debugName: "cornerWidthPx" }] : /* istanbul ignore next */ []));
430
+ cornerHeightPx = computed(() => `${this.cornerHeightValue()}px`, /* @ts-ignore */
431
+ ...(ngDevMode ? [{ debugName: "cornerHeightPx" }] : /* istanbul ignore next */ []));
432
+ dataHovering = computed(() => (this.hovering() ? '' : null), /* @ts-ignore */
433
+ ...(ngDevMode ? [{ debugName: "dataHovering" }] : /* istanbul ignore next */ []));
434
+ dataScrollingY = computed(() => (this.scrollingY() ? '' : null), /* @ts-ignore */
435
+ ...(ngDevMode ? [{ debugName: "dataScrollingY" }] : /* istanbul ignore next */ []));
436
+ dataScrollingX = computed(() => (this.scrollingX() ? '' : null), /* @ts-ignore */
437
+ ...(ngDevMode ? [{ debugName: "dataScrollingX" }] : /* istanbul ignore next */ []));
438
+ viewportEl = null;
439
+ scrollbarYEl = null;
440
+ scrollbarXEl = null;
441
+ handleYEl = null;
442
+ handleXEl = null;
443
+ cornerEl = null;
444
+ isDragging = false;
445
+ dragOrientation = 'vertical';
446
+ dragStart = { pointerPos: 0, scrollPos: 0 };
447
+ prevScroll = { top: 0, left: 0 };
448
+ scrollXTimeout = null;
449
+ scrollYTimeout = null;
450
+ rafId = null;
451
+ resizeObserver = null;
452
+ onAfterViewChecked() {
453
+ this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
454
+ }
455
+ onAfterViewInit() {
456
+ if (isPlatformBrowser(this.platformId)) {
457
+ this.computeHandle();
458
+ this.setupResizeObserver();
459
+ }
460
+ }
461
+ onDestroy() {
462
+ this.resizeObserver?.disconnect();
463
+ this.resizeObserver = null;
464
+ if (this.scrollXTimeout)
465
+ clearTimeout(this.scrollXTimeout);
466
+ if (this.scrollYTimeout)
467
+ clearTimeout(this.scrollYTimeout);
468
+ if (this.rafId)
469
+ cancelAnimationFrame(this.rafId);
470
+ }
471
+ setupResizeObserver() {
472
+ const vp = this.viewportEl;
473
+ if (!vp)
474
+ return;
475
+ let localRaf = null;
476
+ this.resizeObserver = new ResizeObserver(() => {
477
+ if (localRaf)
478
+ return;
479
+ localRaf = requestAnimationFrame(() => {
480
+ localRaf = null;
481
+ this.computeHandle();
482
+ });
483
+ });
484
+ this.resizeObserver.observe(vp);
485
+ if (vp.firstElementChild) {
486
+ this.resizeObserver.observe(vp.firstElementChild);
487
+ }
488
+ }
489
+ computeHandle() {
490
+ const vp = this.viewportEl;
491
+ if (!vp)
492
+ return;
493
+ const { scrollHeight, scrollWidth, clientHeight, clientWidth, scrollTop, scrollLeft } = vp;
494
+ const yHidden = clientHeight >= scrollHeight;
495
+ const xHidden = clientWidth >= scrollWidth;
496
+ const scrollbarY = this.scrollbarYEl;
497
+ const scrollbarX = this.scrollbarXEl;
498
+ const cw = !yHidden && !xHidden && scrollbarY ? scrollbarY.offsetWidth : 0;
499
+ const ch = !yHidden && !xHidden && scrollbarX ? scrollbarX.offsetHeight : 0;
500
+ const scrollbarYHeight = scrollbarY && !yHidden ? scrollbarY.offsetHeight : 0;
501
+ const scrollbarXWidth = scrollbarX && !xHidden ? scrollbarX.offsetWidth : 0;
502
+ this.hiddenX.set(xHidden);
503
+ this.hiddenY.set(yHidden);
504
+ this.cornerHidden.set(xHidden || yHidden);
505
+ this.cornerWidthValue.set(cw);
506
+ this.cornerHeightValue.set(ch);
507
+ this.hasOverflowX.set(!xHidden);
508
+ this.hasOverflowY.set(!yHidden);
509
+ this.xBefore.set(!xHidden && scrollLeft > 0);
510
+ this.xAfter.set(!xHidden && scrollWidth - clientWidth - scrollLeft > 1);
511
+ this.yBefore.set(!yHidden && scrollTop > 0);
512
+ this.yAfter.set(!yHidden && scrollHeight - clientHeight - scrollTop > 1);
513
+ if (scrollbarY && !yHidden && scrollbarYHeight > 0) {
514
+ const handleRatio = clientHeight / scrollHeight;
515
+ const handleHeight = Math.max(handleRatio * scrollbarYHeight, MIN_HANDLE_SIZE);
516
+ const availableTrack = scrollbarYHeight - handleHeight;
517
+ const maxScrollTop = scrollHeight - clientHeight;
518
+ const scrollRatio = maxScrollTop > 0 ? scrollTop / maxScrollTop : 0;
519
+ const offsetPx = scrollRatio * availableTrack;
520
+ scrollbarY.style.setProperty('--px-handle-height', `${handleHeight}px`);
521
+ scrollbarY.style.setProperty('--px-handle-offset', `${offsetPx}px`);
522
+ }
523
+ if (scrollbarX && !xHidden && scrollbarXWidth > 0) {
524
+ const handleRatio = clientWidth / scrollWidth;
525
+ const handleWidth = Math.max(handleRatio * scrollbarXWidth, MIN_HANDLE_SIZE);
526
+ const availableTrack = scrollbarXWidth - handleWidth;
527
+ const maxScrollLeft = scrollWidth - clientWidth;
528
+ const scrollRatio = maxScrollLeft > 0 ? scrollLeft / maxScrollLeft : 0;
529
+ const offsetPx = scrollRatio * availableTrack;
530
+ scrollbarX.style.setProperty('--px-handle-width', `${handleWidth}px`);
531
+ scrollbarX.style.setProperty('--px-handle-offset', `${offsetPx}px`);
532
+ }
533
+ this.cd.markForCheck();
534
+ }
535
+ onScroll() {
536
+ if (!this.rafId) {
537
+ this.rafId = requestAnimationFrame(() => {
538
+ this.rafId = null;
539
+ this.computeHandle();
540
+ });
541
+ }
542
+ const vp = this.viewportEl;
543
+ if (!vp)
544
+ return;
545
+ const { scrollTop, scrollLeft } = vp;
546
+ if (scrollTop !== this.prevScroll.top) {
547
+ this.scrollingY.set(true);
548
+ if (this.scrollYTimeout)
549
+ clearTimeout(this.scrollYTimeout);
550
+ this.scrollYTimeout = setTimeout(() => {
551
+ this.scrollingY.set(false);
552
+ this.cd.markForCheck();
553
+ }, SCROLL_TIMEOUT);
554
+ }
555
+ if (scrollLeft !== this.prevScroll.left) {
556
+ this.scrollingX.set(true);
557
+ if (this.scrollXTimeout)
558
+ clearTimeout(this.scrollXTimeout);
559
+ this.scrollXTimeout = setTimeout(() => {
560
+ this.scrollingX.set(false);
561
+ this.cd.markForCheck();
562
+ }, SCROLL_TIMEOUT);
563
+ }
564
+ this.prevScroll.top = scrollTop;
565
+ this.prevScroll.left = scrollLeft;
566
+ this.cd.markForCheck();
567
+ }
568
+ onHandlePointerDown(event, orientation) {
569
+ if (event.pointerType === 'mouse' && event.button !== 0)
570
+ return;
571
+ event.preventDefault();
572
+ event.stopPropagation();
573
+ const isVertical = orientation === 'vertical';
574
+ const scrollbar = isVertical ? this.scrollbarYEl : this.scrollbarXEl;
575
+ const vp = this.viewportEl;
576
+ if (!scrollbar || !vp)
577
+ return;
578
+ scrollbar.setPointerCapture(event.pointerId);
579
+ this.isDragging = true;
580
+ this.dragOrientation = orientation;
581
+ this.dragStart = {
582
+ pointerPos: isVertical ? event.clientY : event.clientX,
583
+ scrollPos: isVertical ? vp.scrollTop : vp.scrollLeft
584
+ };
585
+ }
586
+ onScrollbarPointerDown(event, orientation) {
587
+ if (event.pointerType === 'mouse' && event.button !== 0)
588
+ return;
589
+ event.preventDefault();
590
+ const isVertical = orientation === 'vertical';
591
+ const scrollbar = isVertical ? this.scrollbarYEl : this.scrollbarXEl;
592
+ const vp = this.viewportEl;
593
+ if (!scrollbar || !vp)
594
+ return;
595
+ scrollbar.setPointerCapture(event.pointerId);
596
+ this.isDragging = true;
597
+ this.dragOrientation = orientation;
598
+ const rect = scrollbar.getBoundingClientRect();
599
+ const handle = isVertical ? this.handleYEl : this.handleXEl;
600
+ const handleSize = handle ? (isVertical ? handle.offsetHeight : handle.offsetWidth) : 0;
601
+ const trackSize = isVertical ? rect.height : rect.width;
602
+ const effectiveTrack = trackSize - handleSize;
603
+ if (effectiveTrack > 0) {
604
+ const clickPos = (isVertical ? event.clientY - rect.top : event.clientX - rect.left) - handleSize / 2;
605
+ const ratio = Math.max(0, Math.min(1, clickPos / effectiveTrack));
606
+ const maxScroll = isVertical ? vp.scrollHeight - vp.clientHeight : vp.scrollWidth - vp.clientWidth;
607
+ if (isVertical) {
608
+ vp.scrollTop = ratio * maxScroll;
609
+ }
610
+ else {
611
+ vp.scrollLeft = ratio * maxScroll;
612
+ }
613
+ }
614
+ this.dragStart = {
615
+ pointerPos: isVertical ? event.clientY : event.clientX,
616
+ scrollPos: isVertical ? vp.scrollTop : vp.scrollLeft
617
+ };
618
+ }
619
+ onScrollbarPointerMove(event) {
620
+ if (!this.isDragging)
621
+ return;
622
+ event.preventDefault();
623
+ const isVertical = this.dragOrientation === 'vertical';
624
+ const vp = this.viewportEl;
625
+ const scrollbar = isVertical ? this.scrollbarYEl : this.scrollbarXEl;
626
+ if (!vp || !scrollbar)
627
+ return;
628
+ const rect = scrollbar.getBoundingClientRect();
629
+ const handle = isVertical ? this.handleYEl : this.handleXEl;
630
+ const handleSize = handle ? (isVertical ? handle.offsetHeight : handle.offsetWidth) : 0;
631
+ const trackSize = isVertical ? rect.height : rect.width;
632
+ const effectiveTrack = trackSize - handleSize;
633
+ if (effectiveTrack <= 0)
634
+ return;
635
+ const currentPos = isVertical ? event.clientY : event.clientX;
636
+ const delta = currentPos - this.dragStart.pointerPos;
637
+ const maxScroll = isVertical ? vp.scrollHeight - vp.clientHeight : vp.scrollWidth - vp.clientWidth;
638
+ const scrollDelta = (delta / effectiveTrack) * maxScroll;
639
+ if (isVertical) {
640
+ vp.scrollTop = this.dragStart.scrollPos + scrollDelta;
641
+ }
642
+ else {
643
+ vp.scrollLeft = this.dragStart.scrollPos + scrollDelta;
644
+ }
645
+ }
646
+ onScrollbarPointerUp(event) {
647
+ event.preventDefault();
648
+ event.currentTarget.releasePointerCapture(event.pointerId);
649
+ this.isDragging = false;
650
+ }
651
+ onScrollbarWheel(event, orientation) {
652
+ const vp = this.viewportEl;
653
+ if (!vp || event.ctrlKey)
654
+ return;
655
+ if (orientation === 'vertical') {
656
+ vp.scrollTop += event.deltaY;
657
+ }
658
+ else {
659
+ vp.scrollLeft += event.deltaX || event.deltaY;
660
+ }
661
+ }
662
+ onRootPointerEnter(event) {
663
+ if (event.pointerType === 'touch') {
664
+ this.touchModality.set(true);
665
+ }
666
+ else {
667
+ this.touchModality.set(false);
668
+ this.hovering.set(true);
669
+ }
670
+ }
671
+ onRootPointerLeave() {
672
+ this.hovering.set(false);
673
+ }
674
+ onRootPointerDown(event) {
675
+ if (event.pointerType === 'touch') {
676
+ this.touchModality.set(true);
677
+ }
678
+ }
679
+ /**
680
+ * Refreshes the position and size of the scrollbar.
681
+ * @group Method
682
+ */
683
+ refresh() {
684
+ this.computeHandle();
685
+ }
686
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollArea, deps: null, target: i0.ɵɵFactoryTarget.Component });
687
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: ScrollArea, isStandalone: true, selector: "p-scrollarea, p-scroll-area", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, mask: { classPropertyName: "mask", publicName: "mask", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "pointerenter": "onRootPointerEnter($event)", "pointerleave": "onRootPointerLeave()", "pointerdown": "onRootPointerDown($event)" }, properties: { "class": "cx(\"root\")", "style": "sx(\"root\")", "attr.data-variant": "variant()", "style.--px-corner-height": "cornerHeightPx()", "style.--px-corner-width": "cornerWidthPx()" } }, providers: [ScrollAreaStyle, { provide: SCROLLAREA_INSTANCE, useExisting: ScrollArea }, { provide: PARENT_INSTANCE, useExisting: ScrollArea }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: BindModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
688
+ }
689
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollArea, decorators: [{
690
+ type: Component,
691
+ args: [{
692
+ selector: 'p-scrollarea, p-scroll-area',
693
+ standalone: true,
694
+ imports: [SharedModule, BindModule],
695
+ template: `<ng-content></ng-content>`,
696
+ changeDetection: ChangeDetectionStrategy.OnPush,
697
+ encapsulation: ViewEncapsulation.None,
698
+ providers: [ScrollAreaStyle, { provide: SCROLLAREA_INSTANCE, useExisting: ScrollArea }, { provide: PARENT_INSTANCE, useExisting: ScrollArea }],
699
+ host: {
700
+ '[class]': 'cx("root")',
701
+ '[style]': 'sx("root")',
702
+ '[attr.data-variant]': 'variant()',
703
+ '[style.--px-corner-height]': 'cornerHeightPx()',
704
+ '[style.--px-corner-width]': 'cornerWidthPx()',
705
+ '(pointerenter)': 'onRootPointerEnter($event)',
706
+ '(pointerleave)': 'onRootPointerLeave()',
707
+ '(pointerdown)': 'onRootPointerDown($event)'
708
+ },
709
+ hostDirectives: [Bind]
710
+ }]
711
+ }], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], mask: [{ type: i0.Input, args: [{ isSignal: true, alias: "mask", required: false }] }], tabindex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabindex", required: false }] }] } });
712
+ class ScrollAreaModule {
713
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollAreaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
714
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: ScrollAreaModule, imports: [ScrollArea, ScrollAreaViewport, ScrollAreaContent, ScrollAreaScrollbar, ScrollAreaHandle, ScrollAreaCorner, SharedModule, BindModule], exports: [ScrollArea, ScrollAreaViewport, ScrollAreaContent, ScrollAreaScrollbar, ScrollAreaHandle, ScrollAreaCorner, SharedModule, BindModule] });
715
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollAreaModule, imports: [ScrollArea, ScrollAreaViewport, ScrollAreaContent, ScrollAreaScrollbar, ScrollAreaHandle, ScrollAreaCorner, SharedModule, BindModule, SharedModule, BindModule] });
716
+ }
717
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollAreaModule, decorators: [{
718
+ type: NgModule,
719
+ args: [{
720
+ imports: [ScrollArea, ScrollAreaViewport, ScrollAreaContent, ScrollAreaScrollbar, ScrollAreaHandle, ScrollAreaCorner, SharedModule, BindModule],
721
+ exports: [ScrollArea, ScrollAreaViewport, ScrollAreaContent, ScrollAreaScrollbar, ScrollAreaHandle, ScrollAreaCorner, SharedModule, BindModule]
722
+ }]
723
+ }] });
724
+
725
+ /**
726
+ * Generated bundle index. Do not edit.
727
+ */
728
+
729
+ export { SCROLLAREA_INSTANCE, SCROLLAREA_SCROLLBAR_INSTANCE, SCROLLAREA_VIEWPORT_INSTANCE, ScrollArea, ScrollAreaClasses, ScrollAreaContent, ScrollAreaCorner, ScrollAreaHandle, ScrollAreaModule, ScrollAreaScrollbar, ScrollAreaStyle, ScrollAreaViewport };
730
+ //# sourceMappingURL=primeng-scrollarea.mjs.map