primevue 3.12.3 → 3.12.6

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 (633) hide show
  1. package/accordion/accordion.cjs.js +18 -16
  2. package/accordion/accordion.cjs.min.js +1 -1
  3. package/accordion/accordion.esm.js +20 -18
  4. package/accordion/accordion.esm.min.js +1 -1
  5. package/accordion/accordion.js +19 -17
  6. package/accordion/accordion.min.js +1 -1
  7. package/accordiontab/accordiontab.esm.js +1 -1
  8. package/accordiontab/accordiontab.esm.min.js +1 -1
  9. package/accordiontab/accordiontab.js +1 -1
  10. package/api/api.js +1 -1
  11. package/autocomplete/autocomplete.cjs.js +61 -54
  12. package/autocomplete/autocomplete.cjs.min.js +1 -1
  13. package/autocomplete/autocomplete.esm.js +59 -52
  14. package/autocomplete/autocomplete.esm.min.js +1 -1
  15. package/autocomplete/autocomplete.js +62 -55
  16. package/autocomplete/autocomplete.min.js +1 -1
  17. package/avatar/avatar.cjs.js +9 -6
  18. package/avatar/avatar.cjs.min.js +1 -1
  19. package/avatar/avatar.esm.js +11 -8
  20. package/avatar/avatar.esm.min.js +1 -1
  21. package/avatar/avatar.js +10 -7
  22. package/avatar/avatar.min.js +1 -1
  23. package/avatargroup/avatargroup.cjs.js +1 -1
  24. package/avatargroup/avatargroup.cjs.min.js +1 -1
  25. package/avatargroup/avatargroup.esm.js +3 -3
  26. package/avatargroup/avatargroup.esm.min.js +1 -1
  27. package/avatargroup/avatargroup.js +2 -2
  28. package/avatargroup/avatargroup.min.js +1 -1
  29. package/badge/badge.cjs.js +3 -1
  30. package/badge/badge.cjs.min.js +1 -1
  31. package/badge/badge.esm.js +5 -3
  32. package/badge/badge.esm.min.js +1 -1
  33. package/badge/badge.js +4 -2
  34. package/badge/badge.min.js +1 -1
  35. package/badgedirective/badgedirective.esm.js +1 -1
  36. package/badgedirective/badgedirective.esm.min.js +1 -1
  37. package/badgedirective/badgedirective.js +1 -1
  38. package/blockui/blockui.cjs.js +1 -1
  39. package/blockui/blockui.cjs.min.js +1 -1
  40. package/blockui/blockui.esm.js +3 -3
  41. package/blockui/blockui.esm.min.js +1 -1
  42. package/blockui/blockui.js +2 -2
  43. package/blockui/blockui.min.js +1 -1
  44. package/breadcrumb/breadcrumb.cjs.js +25 -23
  45. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  46. package/breadcrumb/breadcrumb.esm.js +27 -25
  47. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  48. package/breadcrumb/breadcrumb.js +26 -24
  49. package/breadcrumb/breadcrumb.min.js +1 -1
  50. package/button/button.cjs.js +13 -12
  51. package/button/button.cjs.min.js +1 -1
  52. package/button/button.esm.js +14 -13
  53. package/button/button.esm.min.js +1 -1
  54. package/button/button.js +14 -13
  55. package/button/button.min.js +1 -1
  56. package/calendar/calendar.cjs.js +232 -207
  57. package/calendar/calendar.cjs.min.js +1 -1
  58. package/calendar/calendar.esm.js +231 -206
  59. package/calendar/calendar.esm.min.js +1 -1
  60. package/calendar/calendar.js +233 -208
  61. package/calendar/calendar.min.js +1 -1
  62. package/card/card.cjs.js +7 -7
  63. package/card/card.cjs.min.js +1 -1
  64. package/card/card.esm.js +9 -9
  65. package/card/card.esm.min.js +1 -1
  66. package/card/card.js +8 -8
  67. package/card/card.min.js +1 -1
  68. package/carousel/carousel.cjs.js +56 -48
  69. package/carousel/carousel.cjs.min.js +1 -1
  70. package/carousel/carousel.esm.js +57 -49
  71. package/carousel/carousel.esm.min.js +1 -1
  72. package/carousel/carousel.js +57 -49
  73. package/carousel/carousel.min.js +1 -1
  74. package/cascadeselect/cascadeselect.cjs.js +37 -30
  75. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  76. package/cascadeselect/cascadeselect.esm.js +37 -30
  77. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  78. package/cascadeselect/cascadeselect.js +38 -31
  79. package/cascadeselect/cascadeselect.min.js +1 -1
  80. package/chart/chart.cjs.js +7 -8
  81. package/chart/chart.cjs.min.js +1 -1
  82. package/chart/chart.esm.js +7 -6
  83. package/chart/chart.esm.min.js +1 -1
  84. package/chart/chart.js +6 -5
  85. package/chart/chart.min.js +1 -1
  86. package/checkbox/checkbox.cjs.js +16 -14
  87. package/checkbox/checkbox.cjs.min.js +1 -1
  88. package/checkbox/checkbox.esm.js +18 -16
  89. package/checkbox/checkbox.esm.min.js +1 -1
  90. package/checkbox/checkbox.js +17 -15
  91. package/checkbox/checkbox.min.js +1 -1
  92. package/chip/chip.cjs.js +13 -12
  93. package/chip/chip.cjs.min.js +1 -1
  94. package/chip/chip.esm.js +15 -14
  95. package/chip/chip.esm.min.js +1 -1
  96. package/chip/chip.js +14 -13
  97. package/chip/chip.min.js +1 -1
  98. package/chips/chips.cjs.js +22 -20
  99. package/chips/chips.cjs.min.js +1 -1
  100. package/chips/chips.esm.js +24 -22
  101. package/chips/chips.esm.min.js +1 -1
  102. package/chips/chips.js +23 -21
  103. package/chips/chips.min.js +1 -1
  104. package/colorpicker/colorpicker.cjs.js +28 -27
  105. package/colorpicker/colorpicker.cjs.min.js +1 -1
  106. package/colorpicker/colorpicker.esm.js +29 -28
  107. package/colorpicker/colorpicker.esm.min.js +1 -1
  108. package/colorpicker/colorpicker.js +29 -28
  109. package/colorpicker/colorpicker.min.js +1 -1
  110. package/column/column.esm.js +1 -1
  111. package/column/column.esm.min.js +1 -1
  112. package/column/column.js +1 -1
  113. package/columngroup/columngroup.esm.js +1 -1
  114. package/columngroup/columngroup.esm.min.js +1 -1
  115. package/columngroup/columngroup.js +1 -1
  116. package/config/config.cjs.js +1 -1
  117. package/config/config.esm.js +1 -2
  118. package/config/config.esm.min.js +1 -1
  119. package/config/config.js +2 -2
  120. package/confirmationeventbus/confirmationeventbus.esm.js +1 -1
  121. package/confirmationeventbus/confirmationeventbus.esm.min.js +1 -1
  122. package/confirmationeventbus/confirmationeventbus.js +1 -1
  123. package/confirmationoptions/ConfirmationOptions.d.ts +8 -0
  124. package/confirmationservice/confirmationservice.cjs.js +2 -2
  125. package/confirmationservice/confirmationservice.esm.js +1 -1
  126. package/confirmationservice/confirmationservice.esm.min.js +1 -1
  127. package/confirmationservice/confirmationservice.js +3 -3
  128. package/confirmdialog/confirmdialog.cjs.js +15 -13
  129. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  130. package/confirmdialog/confirmdialog.esm.js +11 -9
  131. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  132. package/confirmdialog/confirmdialog.js +16 -14
  133. package/confirmdialog/confirmdialog.min.js +1 -1
  134. package/confirmpopup/confirmpopup.cjs.js +18 -16
  135. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  136. package/confirmpopup/confirmpopup.esm.js +14 -12
  137. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  138. package/confirmpopup/confirmpopup.js +19 -17
  139. package/confirmpopup/confirmpopup.min.js +1 -1
  140. package/contextmenu/contextmenu.cjs.js +33 -30
  141. package/contextmenu/contextmenu.cjs.min.js +1 -1
  142. package/contextmenu/contextmenu.esm.js +34 -31
  143. package/contextmenu/contextmenu.esm.min.js +1 -1
  144. package/contextmenu/contextmenu.js +34 -31
  145. package/contextmenu/contextmenu.min.js +1 -1
  146. package/core/core.js +405 -339
  147. package/core/core.min.js +12 -12
  148. package/datatable/DataTable.d.ts +1 -1
  149. package/datatable/datatable.cjs.js +355 -328
  150. package/datatable/datatable.cjs.min.js +1 -1
  151. package/datatable/datatable.esm.js +345 -318
  152. package/datatable/datatable.esm.min.js +1 -1
  153. package/datatable/datatable.js +356 -329
  154. package/datatable/datatable.min.js +1 -1
  155. package/dataview/dataview.cjs.js +16 -14
  156. package/dataview/dataview.cjs.min.js +1 -1
  157. package/dataview/dataview.esm.js +17 -15
  158. package/dataview/dataview.esm.min.js +1 -1
  159. package/dataview/dataview.js +17 -15
  160. package/dataview/dataview.min.js +1 -1
  161. package/dataviewlayoutoptions/dataviewlayoutoptions.cjs.js +17 -15
  162. package/dataviewlayoutoptions/dataviewlayoutoptions.cjs.min.js +1 -1
  163. package/dataviewlayoutoptions/dataviewlayoutoptions.esm.js +19 -17
  164. package/dataviewlayoutoptions/dataviewlayoutoptions.esm.min.js +1 -1
  165. package/dataviewlayoutoptions/dataviewlayoutoptions.js +18 -16
  166. package/dataviewlayoutoptions/dataviewlayoutoptions.min.js +1 -1
  167. package/deferredcontent/deferredcontent.cjs.js +1 -1
  168. package/deferredcontent/deferredcontent.cjs.min.js +1 -1
  169. package/deferredcontent/deferredcontent.esm.js +3 -3
  170. package/deferredcontent/deferredcontent.esm.min.js +1 -1
  171. package/deferredcontent/deferredcontent.js +2 -2
  172. package/deferredcontent/deferredcontent.min.js +1 -1
  173. package/dialog/dialog.cjs.js +33 -27
  174. package/dialog/dialog.cjs.min.js +1 -1
  175. package/dialog/dialog.esm.js +34 -28
  176. package/dialog/dialog.esm.min.js +1 -1
  177. package/dialog/dialog.js +34 -28
  178. package/dialog/dialog.min.js +1 -1
  179. package/divider/divider.cjs.js +3 -3
  180. package/divider/divider.cjs.min.js +1 -1
  181. package/divider/divider.esm.js +5 -5
  182. package/divider/divider.esm.min.js +1 -1
  183. package/divider/divider.js +4 -4
  184. package/divider/divider.min.js +1 -1
  185. package/dock/dock.cjs.js +26 -23
  186. package/dock/dock.cjs.min.js +1 -1
  187. package/dock/dock.esm.js +26 -23
  188. package/dock/dock.esm.min.js +1 -1
  189. package/dock/dock.js +27 -24
  190. package/dock/dock.min.js +1 -1
  191. package/dropdown/dropdown.cjs.js +67 -59
  192. package/dropdown/dropdown.cjs.min.js +1 -1
  193. package/dropdown/dropdown.esm.js +66 -58
  194. package/dropdown/dropdown.esm.min.js +1 -1
  195. package/dropdown/dropdown.js +68 -60
  196. package/dropdown/dropdown.min.js +1 -1
  197. package/editor/editor.cjs.js +22 -22
  198. package/editor/editor.cjs.min.js +1 -1
  199. package/editor/editor.esm.js +23 -23
  200. package/editor/editor.esm.min.js +1 -1
  201. package/editor/editor.js +23 -23
  202. package/editor/editor.min.js +1 -1
  203. package/fieldset/fieldset.cjs.js +22 -17
  204. package/fieldset/fieldset.cjs.min.js +1 -1
  205. package/fieldset/fieldset.esm.js +23 -18
  206. package/fieldset/fieldset.esm.min.js +1 -1
  207. package/fieldset/fieldset.js +23 -18
  208. package/fieldset/fieldset.min.js +1 -1
  209. package/fileupload/FileUpload.d.ts +12 -0
  210. package/fileupload/FileUpload.vue +21 -7
  211. package/fileupload/fileupload.cjs.js +85 -65
  212. package/fileupload/fileupload.cjs.min.js +1 -1
  213. package/fileupload/fileupload.esm.js +83 -63
  214. package/fileupload/fileupload.esm.min.js +1 -1
  215. package/fileupload/fileupload.js +86 -66
  216. package/fileupload/fileupload.min.js +1 -1
  217. package/fullcalendar/fullcalendar.cjs.js +1 -31
  218. package/fullcalendar/fullcalendar.cjs.min.js +1 -1
  219. package/fullcalendar/fullcalendar.esm.js +3 -33
  220. package/fullcalendar/fullcalendar.esm.min.js +1 -1
  221. package/fullcalendar/fullcalendar.js +2 -32
  222. package/fullcalendar/fullcalendar.min.js +1 -1
  223. package/galleria/galleria.cjs.js +92 -78
  224. package/galleria/galleria.cjs.min.js +1 -1
  225. package/galleria/galleria.esm.js +91 -77
  226. package/galleria/galleria.esm.min.js +1 -1
  227. package/galleria/galleria.js +93 -79
  228. package/galleria/galleria.min.js +1 -1
  229. package/image/image.cjs.js +55 -47
  230. package/image/image.cjs.min.js +1 -1
  231. package/image/image.esm.js +57 -49
  232. package/image/image.esm.min.js +1 -1
  233. package/image/image.js +56 -48
  234. package/image/image.min.js +1 -1
  235. package/inlinemessage/inlinemessage.cjs.js +6 -4
  236. package/inlinemessage/inlinemessage.cjs.min.js +1 -1
  237. package/inlinemessage/inlinemessage.esm.js +8 -6
  238. package/inlinemessage/inlinemessage.esm.min.js +1 -1
  239. package/inlinemessage/inlinemessage.js +7 -5
  240. package/inlinemessage/inlinemessage.min.js +1 -1
  241. package/inplace/inplace.cjs.js +12 -9
  242. package/inplace/inplace.cjs.min.js +1 -1
  243. package/inplace/inplace.esm.js +13 -10
  244. package/inplace/inplace.esm.min.js +1 -1
  245. package/inplace/inplace.js +13 -10
  246. package/inplace/inplace.min.js +1 -1
  247. package/inputmask/inputmask.cjs.js +7 -7
  248. package/inputmask/inputmask.cjs.min.js +1 -1
  249. package/inputmask/inputmask.esm.js +9 -9
  250. package/inputmask/inputmask.esm.min.js +1 -1
  251. package/inputmask/inputmask.js +8 -8
  252. package/inputmask/inputmask.min.js +1 -1
  253. package/inputnumber/InputNumber.d.ts +4 -0
  254. package/inputnumber/InputNumber.vue +20 -2
  255. package/inputnumber/inputnumber.cjs.js +27 -8
  256. package/inputnumber/inputnumber.cjs.min.js +1 -1
  257. package/inputnumber/inputnumber.esm.js +27 -8
  258. package/inputnumber/inputnumber.esm.min.js +1 -1
  259. package/inputnumber/inputnumber.js +28 -9
  260. package/inputnumber/inputnumber.min.js +1 -1
  261. package/inputswitch/inputswitch.cjs.js +13 -12
  262. package/inputswitch/inputswitch.cjs.min.js +1 -1
  263. package/inputswitch/inputswitch.esm.js +15 -14
  264. package/inputswitch/inputswitch.esm.min.js +1 -1
  265. package/inputswitch/inputswitch.js +14 -13
  266. package/inputswitch/inputswitch.min.js +1 -1
  267. package/inputtext/inputtext.cjs.js +5 -3
  268. package/inputtext/inputtext.cjs.min.js +1 -1
  269. package/inputtext/inputtext.esm.js +7 -5
  270. package/inputtext/inputtext.esm.min.js +1 -1
  271. package/inputtext/inputtext.js +6 -4
  272. package/inputtext/inputtext.min.js +1 -1
  273. package/knob/knob.cjs.js +21 -14
  274. package/knob/knob.cjs.min.js +1 -1
  275. package/knob/knob.esm.js +23 -16
  276. package/knob/knob.esm.min.js +1 -1
  277. package/knob/knob.js +22 -15
  278. package/knob/knob.min.js +1 -1
  279. package/listbox/listbox.cjs.js +37 -34
  280. package/listbox/listbox.cjs.min.js +1 -1
  281. package/listbox/listbox.esm.js +37 -34
  282. package/listbox/listbox.esm.min.js +1 -1
  283. package/listbox/listbox.js +38 -35
  284. package/listbox/listbox.min.js +1 -1
  285. package/megamenu/megamenu.cjs.js +73 -66
  286. package/megamenu/megamenu.cjs.min.js +1 -1
  287. package/megamenu/megamenu.esm.js +74 -67
  288. package/megamenu/megamenu.esm.min.js +1 -1
  289. package/megamenu/megamenu.js +74 -67
  290. package/megamenu/megamenu.min.js +1 -1
  291. package/menu/Menu.vue +4 -1
  292. package/menu/menu.cjs.js +41 -36
  293. package/menu/menu.cjs.min.js +1 -1
  294. package/menu/menu.esm.js +41 -36
  295. package/menu/menu.esm.min.js +1 -1
  296. package/menu/menu.js +42 -37
  297. package/menu/menu.min.js +1 -1
  298. package/menubar/menubar.cjs.js +47 -40
  299. package/menubar/menubar.cjs.min.js +1 -1
  300. package/menubar/menubar.esm.js +48 -41
  301. package/menubar/menubar.esm.min.js +1 -1
  302. package/menubar/menubar.js +48 -41
  303. package/menubar/menubar.min.js +1 -1
  304. package/message/message.cjs.js +15 -12
  305. package/message/message.cjs.min.js +1 -1
  306. package/message/message.esm.js +16 -13
  307. package/message/message.esm.min.js +1 -1
  308. package/message/message.js +16 -13
  309. package/message/message.min.js +1 -1
  310. package/multiselect/multiselect.cjs.js +106 -94
  311. package/multiselect/multiselect.cjs.min.js +1 -1
  312. package/multiselect/multiselect.esm.js +105 -93
  313. package/multiselect/multiselect.esm.min.js +1 -1
  314. package/multiselect/multiselect.js +107 -95
  315. package/multiselect/multiselect.min.js +1 -1
  316. package/orderlist/orderlist.cjs.js +15 -12
  317. package/orderlist/orderlist.cjs.min.js +1 -1
  318. package/orderlist/orderlist.esm.js +15 -12
  319. package/orderlist/orderlist.esm.min.js +1 -1
  320. package/orderlist/orderlist.js +16 -13
  321. package/orderlist/orderlist.min.js +1 -1
  322. package/organizationchart/organizationchart.cjs.js +42 -37
  323. package/organizationchart/organizationchart.cjs.min.js +1 -1
  324. package/organizationchart/organizationchart.esm.js +44 -39
  325. package/organizationchart/organizationchart.esm.min.js +1 -1
  326. package/organizationchart/organizationchart.js +43 -38
  327. package/organizationchart/organizationchart.min.js +1 -1
  328. package/overlayeventbus/overlayeventbus.esm.js +1 -1
  329. package/overlayeventbus/overlayeventbus.esm.min.js +1 -1
  330. package/overlayeventbus/overlayeventbus.js +1 -1
  331. package/overlaypanel/overlaypanel.cjs.js +18 -16
  332. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  333. package/overlaypanel/overlaypanel.esm.js +15 -13
  334. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  335. package/overlaypanel/overlaypanel.js +19 -17
  336. package/overlaypanel/overlaypanel.min.js +1 -1
  337. package/package.json +1 -1
  338. package/paginator/paginator.cjs.js +59 -54
  339. package/paginator/paginator.cjs.min.js +1 -1
  340. package/paginator/paginator.esm.js +53 -48
  341. package/paginator/paginator.esm.min.js +1 -1
  342. package/paginator/paginator.js +60 -55
  343. package/paginator/paginator.min.js +1 -1
  344. package/panel/panel.cjs.js +21 -16
  345. package/panel/panel.cjs.min.js +1 -1
  346. package/panel/panel.esm.js +22 -17
  347. package/panel/panel.esm.min.js +1 -1
  348. package/panel/panel.js +22 -17
  349. package/panel/panel.min.js +1 -1
  350. package/panelmenu/panelmenu.cjs.js +62 -57
  351. package/panelmenu/panelmenu.cjs.min.js +1 -1
  352. package/panelmenu/panelmenu.esm.js +64 -59
  353. package/panelmenu/panelmenu.esm.min.js +1 -1
  354. package/panelmenu/panelmenu.js +63 -58
  355. package/panelmenu/panelmenu.min.js +1 -1
  356. package/password/Password.vue +1 -1
  357. package/password/password.cjs.js +17 -17
  358. package/password/password.cjs.min.js +1 -1
  359. package/password/password.esm.js +17 -17
  360. package/password/password.esm.min.js +1 -1
  361. package/password/password.js +18 -18
  362. package/password/password.min.js +1 -1
  363. package/picklist/picklist.cjs.js +38 -34
  364. package/picklist/picklist.cjs.min.js +1 -1
  365. package/picklist/picklist.esm.js +38 -34
  366. package/picklist/picklist.esm.min.js +1 -1
  367. package/picklist/picklist.js +39 -35
  368. package/picklist/picklist.min.js +1 -1
  369. package/progressbar/progressbar.cjs.js +14 -12
  370. package/progressbar/progressbar.cjs.min.js +1 -1
  371. package/progressbar/progressbar.esm.js +16 -14
  372. package/progressbar/progressbar.esm.min.js +1 -1
  373. package/progressbar/progressbar.js +15 -13
  374. package/progressbar/progressbar.min.js +1 -1
  375. package/progressspinner/progressspinner.cjs.js +6 -5
  376. package/progressspinner/progressspinner.cjs.min.js +1 -1
  377. package/progressspinner/progressspinner.esm.js +8 -7
  378. package/progressspinner/progressspinner.esm.min.js +1 -1
  379. package/progressspinner/progressspinner.js +7 -6
  380. package/progressspinner/progressspinner.min.js +1 -1
  381. package/radiobutton/radiobutton.cjs.js +18 -15
  382. package/radiobutton/radiobutton.cjs.min.js +1 -1
  383. package/radiobutton/radiobutton.esm.js +20 -17
  384. package/radiobutton/radiobutton.esm.min.js +1 -1
  385. package/radiobutton/radiobutton.js +19 -16
  386. package/radiobutton/radiobutton.min.js +1 -1
  387. package/rating/rating.cjs.js +13 -8
  388. package/rating/rating.cjs.min.js +1 -1
  389. package/rating/rating.esm.js +15 -10
  390. package/rating/rating.esm.min.js +1 -1
  391. package/rating/rating.js +14 -9
  392. package/rating/rating.min.js +1 -1
  393. package/resources/primevue.css +0 -4
  394. package/resources/primevue.min.css +1 -1
  395. package/resources/themes/arya-blue/theme.css +10 -0
  396. package/resources/themes/arya-green/theme.css +10 -0
  397. package/resources/themes/arya-orange/theme.css +10 -0
  398. package/resources/themes/arya-purple/theme.css +10 -0
  399. package/resources/themes/bootstrap4-dark-blue/theme.css +10 -0
  400. package/resources/themes/bootstrap4-dark-purple/theme.css +10 -0
  401. package/resources/themes/bootstrap4-light-blue/theme.css +10 -0
  402. package/resources/themes/bootstrap4-light-purple/theme.css +10 -0
  403. package/resources/themes/fluent-light/theme.css +10 -0
  404. package/resources/themes/lara-dark-blue/theme.css +10 -0
  405. package/resources/themes/lara-dark-indigo/theme.css +10 -0
  406. package/resources/themes/lara-dark-purple/theme.css +10 -0
  407. package/resources/themes/lara-dark-teal/theme.css +10 -0
  408. package/resources/themes/lara-light-blue/theme.css +10 -0
  409. package/resources/themes/lara-light-indigo/theme.css +10 -0
  410. package/resources/themes/lara-light-purple/theme.css +10 -0
  411. package/resources/themes/lara-light-teal/theme.css +10 -0
  412. package/resources/themes/luna-amber/theme.css +10 -0
  413. package/resources/themes/luna-blue/theme.css +10 -0
  414. package/resources/themes/luna-green/theme.css +10 -0
  415. package/resources/themes/luna-pink/theme.css +10 -0
  416. package/resources/themes/md-dark-deeppurple/theme.css +11 -3
  417. package/resources/themes/md-dark-indigo/theme.css +11 -3
  418. package/resources/themes/md-light-deeppurple/theme.css +11 -3
  419. package/resources/themes/md-light-indigo/theme.css +11 -3
  420. package/resources/themes/mdc-dark-deeppurple/theme.css +11 -3
  421. package/resources/themes/mdc-dark-indigo/theme.css +11 -3
  422. package/resources/themes/mdc-light-deeppurple/theme.css +11 -3
  423. package/resources/themes/mdc-light-indigo/theme.css +11 -3
  424. package/resources/themes/nova/theme.css +10 -0
  425. package/resources/themes/nova-accent/theme.css +10 -0
  426. package/resources/themes/nova-alt/theme.css +10 -0
  427. package/resources/themes/nova-vue/theme.css +10 -0
  428. package/resources/themes/rhea/theme.css +10 -0
  429. package/resources/themes/saga-blue/theme.css +10 -0
  430. package/resources/themes/saga-green/theme.css +10 -0
  431. package/resources/themes/saga-orange/theme.css +10 -0
  432. package/resources/themes/saga-purple/theme.css +10 -0
  433. package/resources/themes/tailwind-light/theme.css +10 -0
  434. package/resources/themes/vela-blue/theme.css +10 -0
  435. package/resources/themes/vela-green/theme.css +10 -0
  436. package/resources/themes/vela-orange/theme.css +10 -0
  437. package/resources/themes/vela-purple/theme.css +10 -0
  438. package/ripple/ripple.esm.js +1 -1
  439. package/ripple/ripple.esm.min.js +1 -1
  440. package/ripple/ripple.js +1 -1
  441. package/row/row.esm.js +1 -1
  442. package/row/row.esm.min.js +1 -1
  443. package/row/row.js +1 -1
  444. package/scrollpanel/scrollpanel.cjs.js +9 -9
  445. package/scrollpanel/scrollpanel.cjs.min.js +1 -1
  446. package/scrollpanel/scrollpanel.esm.js +11 -11
  447. package/scrollpanel/scrollpanel.esm.min.js +1 -1
  448. package/scrollpanel/scrollpanel.js +10 -10
  449. package/scrollpanel/scrollpanel.min.js +1 -1
  450. package/scrolltop/scrolltop.cjs.js +6 -4
  451. package/scrolltop/scrolltop.cjs.min.js +1 -1
  452. package/scrolltop/scrolltop.esm.js +8 -6
  453. package/scrolltop/scrolltop.esm.min.js +1 -1
  454. package/scrolltop/scrolltop.js +7 -5
  455. package/scrolltop/scrolltop.min.js +1 -1
  456. package/selectbutton/selectbutton.cjs.js +12 -11
  457. package/selectbutton/selectbutton.cjs.min.js +1 -1
  458. package/selectbutton/selectbutton.esm.js +13 -12
  459. package/selectbutton/selectbutton.esm.min.js +1 -1
  460. package/selectbutton/selectbutton.js +13 -12
  461. package/selectbutton/selectbutton.min.js +1 -1
  462. package/sidebar/Sidebar.d.ts +4 -0
  463. package/sidebar/Sidebar.vue +3 -0
  464. package/sidebar/sidebar.cjs.js +26 -14
  465. package/sidebar/sidebar.cjs.min.js +1 -1
  466. package/sidebar/sidebar.esm.js +27 -15
  467. package/sidebar/sidebar.esm.min.js +1 -1
  468. package/sidebar/sidebar.js +27 -15
  469. package/sidebar/sidebar.min.js +1 -1
  470. package/skeleton/skeleton.cjs.js +3 -3
  471. package/skeleton/skeleton.cjs.min.js +1 -1
  472. package/skeleton/skeleton.esm.js +5 -5
  473. package/skeleton/skeleton.esm.min.js +1 -1
  474. package/skeleton/skeleton.js +4 -4
  475. package/skeleton/skeleton.min.js +1 -1
  476. package/slider/slider.cjs.js +33 -29
  477. package/slider/slider.cjs.min.js +1 -1
  478. package/slider/slider.esm.js +35 -31
  479. package/slider/slider.esm.min.js +1 -1
  480. package/slider/slider.js +34 -30
  481. package/slider/slider.min.js +1 -1
  482. package/speeddial/speeddial.cjs.js +23 -21
  483. package/speeddial/speeddial.cjs.min.js +1 -1
  484. package/speeddial/speeddial.esm.js +22 -20
  485. package/speeddial/speeddial.esm.min.js +1 -1
  486. package/speeddial/speeddial.js +24 -22
  487. package/speeddial/speeddial.min.js +1 -1
  488. package/splitbutton/splitbutton.cjs.js +7 -9
  489. package/splitbutton/splitbutton.cjs.min.js +1 -1
  490. package/splitbutton/splitbutton.esm.js +7 -9
  491. package/splitbutton/splitbutton.esm.min.js +1 -1
  492. package/splitbutton/splitbutton.js +8 -10
  493. package/splitbutton/splitbutton.min.js +1 -1
  494. package/splitter/splitter.cjs.js +13 -9
  495. package/splitter/splitter.cjs.min.js +1 -1
  496. package/splitter/splitter.esm.js +15 -11
  497. package/splitter/splitter.esm.min.js +1 -1
  498. package/splitter/splitter.js +14 -10
  499. package/splitter/splitter.min.js +1 -1
  500. package/splitterpanel/splitterpanel.cjs.js +2 -2
  501. package/splitterpanel/splitterpanel.cjs.min.js +1 -1
  502. package/splitterpanel/splitterpanel.esm.js +4 -4
  503. package/splitterpanel/splitterpanel.esm.min.js +1 -1
  504. package/splitterpanel/splitterpanel.js +3 -3
  505. package/splitterpanel/splitterpanel.min.js +1 -1
  506. package/steps/steps.cjs.js +28 -25
  507. package/steps/steps.cjs.min.js +1 -1
  508. package/steps/steps.esm.js +30 -27
  509. package/steps/steps.esm.min.js +1 -1
  510. package/steps/steps.js +29 -26
  511. package/steps/steps.min.js +1 -1
  512. package/styleclass/styleclass.cjs.js +1 -1
  513. package/styleclass/styleclass.cjs.min.js +1 -1
  514. package/styleclass/styleclass.esm.js +2 -2
  515. package/styleclass/styleclass.esm.min.js +1 -1
  516. package/styleclass/styleclass.js +2 -2
  517. package/styleclass/styleclass.min.js +1 -1
  518. package/tabmenu/tabmenu.cjs.js +25 -23
  519. package/tabmenu/tabmenu.cjs.min.js +1 -1
  520. package/tabmenu/tabmenu.esm.js +26 -24
  521. package/tabmenu/tabmenu.esm.min.js +1 -1
  522. package/tabmenu/tabmenu.js +26 -24
  523. package/tabmenu/tabmenu.min.js +1 -1
  524. package/tabpanel/tabpanel.esm.js +1 -1
  525. package/tabpanel/tabpanel.esm.min.js +1 -1
  526. package/tabpanel/tabpanel.js +1 -1
  527. package/tabview/tabview.cjs.js +41 -36
  528. package/tabview/tabview.cjs.min.js +1 -1
  529. package/tabview/tabview.esm.js +42 -37
  530. package/tabview/tabview.esm.min.js +1 -1
  531. package/tabview/tabview.js +42 -37
  532. package/tabview/tabview.min.js +1 -1
  533. package/tag/tag.cjs.js +4 -4
  534. package/tag/tag.cjs.min.js +1 -1
  535. package/tag/tag.esm.js +6 -6
  536. package/tag/tag.esm.min.js +1 -1
  537. package/tag/tag.js +5 -5
  538. package/tag/tag.min.js +1 -1
  539. package/terminal/terminal.cjs.js +17 -17
  540. package/terminal/terminal.cjs.min.js +1 -1
  541. package/terminal/terminal.esm.js +16 -16
  542. package/terminal/terminal.esm.min.js +1 -1
  543. package/terminal/terminal.js +18 -18
  544. package/terminal/terminal.min.js +1 -1
  545. package/terminalservice/terminalservice.esm.js +1 -1
  546. package/terminalservice/terminalservice.esm.min.js +1 -1
  547. package/terminalservice/terminalservice.js +1 -1
  548. package/textarea/textarea.cjs.js +5 -3
  549. package/textarea/textarea.cjs.min.js +1 -1
  550. package/textarea/textarea.esm.js +7 -5
  551. package/textarea/textarea.esm.min.js +1 -1
  552. package/textarea/textarea.js +6 -4
  553. package/textarea/textarea.min.js +1 -1
  554. package/tieredmenu/tieredmenu.cjs.js +35 -32
  555. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  556. package/tieredmenu/tieredmenu.esm.js +35 -32
  557. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  558. package/tieredmenu/tieredmenu.js +36 -33
  559. package/tieredmenu/tieredmenu.min.js +1 -1
  560. package/timeline/Timeline.d.ts +1 -1
  561. package/timeline/timeline.cjs.js +10 -8
  562. package/timeline/timeline.cjs.min.js +1 -1
  563. package/timeline/timeline.esm.js +12 -10
  564. package/timeline/timeline.esm.min.js +1 -1
  565. package/timeline/timeline.js +11 -9
  566. package/timeline/timeline.min.js +1 -1
  567. package/toast/Toast.vue +2 -2
  568. package/toast/toast.cjs.js +29 -26
  569. package/toast/toast.cjs.min.js +1 -1
  570. package/toast/toast.esm.js +25 -22
  571. package/toast/toast.esm.min.js +1 -1
  572. package/toast/toast.js +30 -27
  573. package/toast/toast.min.js +1 -1
  574. package/toasteventbus/toasteventbus.esm.js +1 -1
  575. package/toasteventbus/toasteventbus.esm.min.js +1 -1
  576. package/toasteventbus/toasteventbus.js +1 -1
  577. package/toastservice/toastservice.cjs.js +3 -3
  578. package/toastservice/toastservice.esm.js +1 -1
  579. package/toastservice/toastservice.esm.min.js +1 -1
  580. package/toastservice/toastservice.js +4 -4
  581. package/togglebutton/togglebutton.cjs.js +10 -9
  582. package/togglebutton/togglebutton.cjs.min.js +1 -1
  583. package/togglebutton/togglebutton.esm.js +11 -10
  584. package/togglebutton/togglebutton.esm.min.js +1 -1
  585. package/togglebutton/togglebutton.js +11 -10
  586. package/togglebutton/togglebutton.min.js +1 -1
  587. package/toolbar/toolbar.cjs.js +3 -3
  588. package/toolbar/toolbar.cjs.min.js +1 -1
  589. package/toolbar/toolbar.esm.js +5 -5
  590. package/toolbar/toolbar.esm.min.js +1 -1
  591. package/toolbar/toolbar.js +4 -4
  592. package/toolbar/toolbar.min.js +1 -1
  593. package/tooltip/tooltip.esm.js +1 -1
  594. package/tooltip/tooltip.esm.min.js +1 -1
  595. package/tooltip/tooltip.js +1 -1
  596. package/tree/TreeNode.vue +1 -4
  597. package/tree/tree.cjs.js +57 -45
  598. package/tree/tree.cjs.min.js +1 -1
  599. package/tree/tree.esm.js +58 -46
  600. package/tree/tree.esm.min.js +1 -1
  601. package/tree/tree.js +58 -46
  602. package/tree/tree.min.js +1 -1
  603. package/treeselect/treeselect.cjs.js +38 -35
  604. package/treeselect/treeselect.cjs.min.js +1 -1
  605. package/treeselect/treeselect.esm.js +37 -34
  606. package/treeselect/treeselect.esm.min.js +1 -1
  607. package/treeselect/treeselect.js +39 -36
  608. package/treeselect/treeselect.min.js +1 -1
  609. package/treetable/TreeTable.d.ts +1 -1
  610. package/treetable/treetable.cjs.js +97 -88
  611. package/treetable/treetable.cjs.min.js +1 -1
  612. package/treetable/treetable.esm.js +97 -88
  613. package/treetable/treetable.esm.min.js +1 -1
  614. package/treetable/treetable.js +98 -89
  615. package/treetable/treetable.min.js +1 -1
  616. package/tristatecheckbox/tristatecheckbox.cjs.js +16 -14
  617. package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
  618. package/tristatecheckbox/tristatecheckbox.esm.js +18 -16
  619. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  620. package/tristatecheckbox/tristatecheckbox.js +17 -15
  621. package/tristatecheckbox/tristatecheckbox.min.js +1 -1
  622. package/useconfirm/useconfirm.js +1 -1
  623. package/usetoast/usetoast.js +1 -1
  624. package/utils/utils.js +1 -1
  625. package/vetur-attributes.json +18 -2
  626. package/vetur-tags.json +4 -0
  627. package/virtualscroller/virtualscroller.cjs.js +15 -15
  628. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  629. package/virtualscroller/virtualscroller.esm.js +17 -17
  630. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  631. package/virtualscroller/virtualscroller.js +16 -16
  632. package/virtualscroller/virtualscroller.min.js +1 -1
  633. package/web-types.json +50 -3
@@ -1 +1 @@
1
- "use strict";var t=require("vue"),s={name:"VirtualScroller",emits:["update:numToleratedItems","scroll","scroll-index-change","lazy-load"],props:{id:{type:String,default:null},style:null,class:null,items:{type:Array,default:null},itemSize:{type:[Number,Array],default:0},scrollHeight:null,scrollWidth:null,orientation:{type:String,default:"vertical"},numToleratedItems:{type:Number,default:null},delay:{type:Number,default:0},lazy:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loaderDisabled:{type:Boolean,default:!1},columns:{type:Array,default:null},loading:{type:Boolean,default:!1},showSpacer:{type:Boolean,default:!0},showLoader:{type:Boolean,default:!1}},data(){return{first:this.isBoth()?{rows:0,cols:0}:0,last:this.isBoth()?{rows:0,cols:0}:0,numItemsInViewport:this.isBoth()?{rows:0,cols:0}:0,lastScrollPos:this.isBoth()?{top:0,left:0}:0,d_numToleratedItems:this.numToleratedItems,d_loading:this.loading,loaderArr:[],spacerStyle:{},contentStyle:{}}},element:null,content:null,lastScrollPos:null,scrollTimeout:null,mounted(){this.init(),this.lastScrollPos=this.isBoth()?{top:0,left:0}:0},watch:{numToleratedItems(t){this.d_numToleratedItems=t},loading(t){this.d_loading=t},items(t,s){s&&s.length===(t||[]).length||this.init()},orientation(){this.lastScrollPos=this.isBoth()?{top:0,left:0}:0}},methods:{init(){this.setSize(),this.calculateOptions(),this.setSpacerSize()},isVertical(){return"vertical"===this.orientation},isHorizontal(){return"horizontal"===this.orientation},isBoth(){return"both"===this.orientation},scrollTo(t){this.element&&this.element.scrollTo(t)},scrollToIndex(t,s="auto"){const e=this.isBoth(),i=this.isHorizontal(),o=this.first,{numToleratedItems:l}=this.calculateNumItems(),n=this.itemSize,r=this.getContentPosition(),a=(t=0,s)=>t<=s?0:t,h=(t,s,e)=>t*s+e,c=(t=0,e=0)=>this.scrollTo({left:t,top:e,behavior:s});if(e){const s={rows:a(t[0],l[0]),cols:a(t[1],l[1])};s.rows===o.rows&&s.cols===o.cols||(c(h(s.cols,n[1],r.left),h(s.rows,n[0],r.top)),this.first=s)}else{const s=a(t,l);s!==o&&(i?c(h(s,n,r.left),0):c(0,h(s,n,r.top)),this.first=s)}},scrollInView(t,s,e="auto"){if(s){const i=this.isBoth(),o=this.isHorizontal(),{first:l,viewport:n}=this.getRenderedRange(),r=(t=0,s=0)=>this.scrollTo({left:t,top:s,behavior:e}),a="to-end"===s;if("to-start"===s){if(i)n.first.rows-l.rows>t[0]?r(n.first.cols*this.itemSize[1],(n.first.rows-1)*this.itemSize[0]):n.first.cols-l.cols>t[1]&&r((n.first.cols-1)*this.itemSize[1],n.first.rows*this.itemSize[0]);else if(n.first-l>t){const t=(n.first-1)*this.itemSize;o?r(t,0):r(0,t)}}else if(a)if(i)n.last.rows-l.rows<=t[0]+1?r(n.first.cols*this.itemSize[1],(n.first.rows+1)*this.itemSize[0]):n.last.cols-l.cols<=t[1]+1&&r((n.first.cols+1)*this.itemSize[1],n.first.rows*this.itemSize[0]);else if(n.last-l<=t+1){const t=(n.first+1)*this.itemSize;o?r(t,0):r(0,t)}}else this.scrollToIndex(t,e)},getRenderedRange(){const t=(t,s)=>Math.floor(t/(s||t));let s=this.first,e=0;if(this.element){const i=this.isBoth(),o=this.isHorizontal(),l=this.element.scrollTop,n=this.element.scrollLeft;if(i)s={rows:t(l,this.itemSize[0]),cols:t(n,this.itemSize[1])},e={rows:s.rows+this.numItemsInViewport.rows,cols:s.cols+this.numItemsInViewport.cols};else{s=t(o?n:l,this.itemSize),e=s+this.numItemsInViewport}}return{first:this.first,last:this.last,viewport:{first:s,last:e}}},calculateNumItems(){const t=this.isBoth(),s=this.isHorizontal(),e=this.itemSize,i=this.getContentPosition(),o=this.element?this.element.offsetWidth-i.left:0,l=this.element?this.element.offsetHeight-i.top:0,n=(t,s)=>Math.ceil(t/(s||t)),r=t=>Math.ceil(t/2),a=t?{rows:n(l,e[0]),cols:n(o,e[1])}:n(s?o:l,e);return{numItemsInViewport:a,numToleratedItems:this.d_numToleratedItems||(t?[r(a.rows),r(a.cols)]:r(a))}},calculateOptions(){const t=this.isBoth(),s=this.first,{numItemsInViewport:e,numToleratedItems:i}=this.calculateNumItems(),o=(t,s,e,i)=>this.getLast(t+s+(t<e?2:3)*e,i),l=t?{rows:o(s.rows,e.rows,i[0]),cols:o(s.cols,e.cols,i[1],!0)}:o(s,e,i);this.last=l,this.numItemsInViewport=e,this.d_numToleratedItems=i,this.$emit("update:numToleratedItems",this.d_numToleratedItems),this.showLoader&&(this.loaderArr=t?Array.from({length:e.rows}).map((()=>Array.from({length:e.cols}))):Array.from({length:e})),this.lazy&&this.$emit("lazy-load",{first:s,last:l})},getLast(t=0,s){return this.items?Math.min(s?(this.columns||this.items[0]).length:this.items.length,t):0},getContentPosition(){if(this.content){const t=getComputedStyle(this.content),s=parseInt(t.paddingLeft,10)+Math.max(parseInt(t.left,10),0),e=parseInt(t.paddingRight,10)+Math.max(parseInt(t.right,10),0),i=parseInt(t.paddingTop,10)+Math.max(parseInt(t.top,10),0),o=parseInt(t.paddingBottom,10)+Math.max(parseInt(t.bottom,10),0);return{left:s,right:e,top:i,bottom:o,x:s+e,y:i+o}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},setSize(){if(this.element){const t=this.isBoth(),s=this.isHorizontal(),e=this.element.parentElement,i=this.scrollWidth||`${this.element.offsetWidth||e.offsetWidth}px`,o=this.scrollHeight||`${this.element.offsetHeight||e.offsetHeight}px`,l=(t,s)=>this.element.style[t]=s;t||s?(l("height",o),l("width",i)):l("height",o)}},setSpacerSize(){const t=this.items;if(t){const s=this.isBoth(),e=this.isHorizontal(),i=this.getContentPosition(),o=(t,s,e,i=0)=>this.spacerStyle={...this.spacerStyle,[`${t}`]:(s||[]).length*e+i+"px"};s?(o("height",t,this.itemSize[0],i.y),o("width",this.columns||t[1],this.itemSize[1],i.x)):e?o("width",this.columns||t,this.itemSize,i.x):o("height",t,this.itemSize,i.y)}},setContentPosition(t){if(this.content){const s=this.isBoth(),e=this.isHorizontal(),i=t?t.first:this.first,o=(t,s)=>t*s,l=(t=0,s=0)=>{this.contentStyle={...this.contentStyle,transform:`translate3d(${t}px, ${s}px, 0)`}};if(s)l(o(i.cols,this.itemSize[1]),o(i.rows,this.itemSize[0]));else{const t=o(i,this.itemSize);e?l(t,0):l(0,t)}}},onScrollPositionChange(t){const s=t.target,e=this.isBoth(),i=this.isHorizontal(),o=this.getContentPosition(),l=(t,s)=>t?t>s?t-s:t:0,n=(t,s)=>Math.floor(t/(s||t)),r=(t,s,e,i,o,l)=>t<=o?o:l?e-i-o:s+o-1,a=(t,s,e,i,o,l,n)=>t<=l?0:Math.max(0,n?t<s?e:t-l:t>s?e:t-2*l),h=(t,s,e,i,o,l)=>{let n=s+i+2*o;return t>=o&&(n+=o+1),this.getLast(n,l)},c=l(s.scrollTop,o.top),m=l(s.scrollLeft,o.left);let d=0,u=this.last,p=!1;if(e){const t=this.lastScrollPos.top<=c,s=this.lastScrollPos.left<=m,e={rows:n(c,this.itemSize[0]),cols:n(m,this.itemSize[1])},i={rows:r(e.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],t),cols:r(e.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],s)};d={rows:a(e.rows,i.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],t),cols:a(e.cols,i.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],s)},u={rows:h(e.rows,d.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0]),cols:h(e.cols,d.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],!0)},p=d.rows!==this.first.rows&&u.rows!==this.last.rows||d.cols!==this.first.cols&&u.cols!==this.last.cols,this.lastScrollPos={top:c,left:m}}else{const t=i?m:c,s=this.lastScrollPos<=t,e=n(t,this.itemSize);d=a(e,r(e,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,s),this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,s),u=h(e,d,this.last,this.numItemsInViewport,this.d_numToleratedItems),p=d!==this.first&&u!==this.last,this.lastScrollPos=t}return{first:d,last:u,isRangeChanged:p}},onScrollChange(t){const{first:s,last:e,isRangeChanged:i}=this.onScrollPositionChange(t);if(i){const t={first:s,last:e};this.setContentPosition(t),this.first=s,this.last=e,this.$emit("scroll-index-change",t),this.lazy&&this.$emit("lazy-load",t)}},onScroll(t){if(this.$emit("scroll",t),this.delay){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),!this.d_loading&&this.showLoader){const{isRangeChanged:s}=this.onScrollPositionChange(t);s&&(this.d_loading=!0)}this.scrollTimeout=setTimeout((()=>{this.onScrollChange(t),this.d_loading&&this.showLoader&&!this.lazy&&(this.d_loading=!1)}),this.delay)}else this.onScrollChange(t)},getOptions(t){const s=(this.items||[]).length,e=this.isBoth()?this.first.rows+t:this.first+t;return{index:e,count:s,first:0===e,last:e===s-1,even:e%2==0,odd:e%2!=0}},getLoaderOptions(t,s){let e=this.loaderArr.length;return{index:t,count:e,first:0===t,last:t===e-1,even:t%2==0,odd:t%2!=0,...s}},elementRef(t){this.element=t},contentRef(t){this.content=t}},computed:{containerClass(){return["p-virtualscroller",{"p-both-scroll":this.isBoth(),"p-horizontal-scroll":this.isHorizontal()},this.class]},contentClass(){return["p-virtualscroller-content",{"p-virtualscroller-loading":this.d_loading}]},loaderClass(){return["p-virtualscroller-loader",{"p-component-overlay":!this.$slots.loader}]},loadedItems(){const t=this.items;return t&&!this.d_loading?this.isBoth()?t.slice(this.first.rows,this.last.rows).map((t=>this.columns?t:t.slice(this.first.cols,this.last.cols))):this.isHorizontal()&&this.columns?t:t.slice(this.first,this.last):[]},loadedRows(){return this.d_loading?this.loaderDisabled?this.loaderArr:[]:this.loadedItems},loadedColumns(){if(this.columns){const t=this.isBoth(),s=this.isHorizontal();if(t||s)return this.d_loading&&this.loaderDisabled?t?this.loaderArr[0]:this.loaderArr:this.columns.slice(t?this.first.cols:this.first,t?this.last.cols:this.last)}return this.columns}}};const e={key:1,class:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"};!function(t,s){void 0===s&&(s={});var e=s.insertAt;if(t&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===e&&i.firstChild?i.insertBefore(o,i.firstChild):i.appendChild(o),o.styleSheet?o.styleSheet.cssText=t:o.appendChild(document.createTextNode(t))}}("\n.p-virtualscroller {\n position: relative;\n overflow: auto;\n contain: strict;\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n will-change: scroll-position;\n outline: 0 none;\n}\n.p-virtualscroller-content {\n position: absolute;\n top: 0;\n left: 0;\n contain: content;\n min-height: 100%;\n min-width: 100%;\n will-change: transform;\n}\n.p-virtualscroller-spacer {\n position: absolute;\n top: 0;\n left: 0;\n height: 1px;\n width: 1px;\n -webkit-transform-origin: 0 0;\n transform-origin: 0 0;\n pointer-events: none;\n}\n.p-virtualscroller .p-virtualscroller-loader {\n position: sticky;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.p-virtualscroller-loader.p-component-overlay {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n"),s.render=function(s,i,o,l,n,r){return o.disabled?(t.openBlock(),t.createBlock(t.Fragment,{key:1},[t.renderSlot(s.$slots,"default"),t.renderSlot(s.$slots,"content",{items:o.items,rows:o.items,columns:r.loadedColumns})],64)):(t.openBlock(),t.createBlock("div",{key:0,ref:r.elementRef,class:r.containerClass,tabindex:0,style:o.style,onScroll:i[1]||(i[1]=(...t)=>r.onScroll&&r.onScroll(...t))},[t.renderSlot(s.$slots,"content",{styleClass:r.contentClass,items:r.loadedItems,getItemOptions:r.getOptions,loading:n.d_loading,getLoaderOptions:r.getLoaderOptions,itemSize:o.itemSize,rows:r.loadedRows,columns:r.loadedColumns,contentRef:r.contentRef,spacerStyle:n.spacerStyle,contentStyle:n.contentStyle,vertical:r.isVertical(),horizontal:r.isHorizontal(),both:r.isBoth()},(()=>[t.createVNode("div",{ref:r.contentRef,class:r.contentClass,style:n.contentStyle},[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(r.loadedItems,((e,i)=>t.renderSlot(s.$slots,"item",{key:i,item:e,options:r.getOptions(i)}))),128))],6)])),o.showSpacer?(t.openBlock(),t.createBlock("div",{key:0,class:"p-virtualscroller-spacer",style:n.spacerStyle},null,4)):t.createCommentVNode("",!0),!o.loaderDisabled&&o.showLoader&&n.d_loading?(t.openBlock(),t.createBlock("div",{key:1,class:r.loaderClass},[s.$slots&&s.$slots.loader?(t.openBlock(!0),t.createBlock(t.Fragment,{key:0},t.renderList(n.loaderArr,((e,i)=>t.renderSlot(s.$slots,"loader",{key:i,options:r.getLoaderOptions(i,r.isBoth()&&{numCols:s.d_numItemsInViewport.cols})}))),128)):(t.openBlock(),t.createBlock("i",e))],2)):t.createCommentVNode("",!0)],38))},module.exports=s;
1
+ "use strict";var t=require("vue"),s={name:"VirtualScroller",emits:["update:numToleratedItems","scroll","scroll-index-change","lazy-load"],props:{id:{type:String,default:null},style:null,class:null,items:{type:Array,default:null},itemSize:{type:[Number,Array],default:0},scrollHeight:null,scrollWidth:null,orientation:{type:String,default:"vertical"},numToleratedItems:{type:Number,default:null},delay:{type:Number,default:0},lazy:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loaderDisabled:{type:Boolean,default:!1},columns:{type:Array,default:null},loading:{type:Boolean,default:!1},showSpacer:{type:Boolean,default:!0},showLoader:{type:Boolean,default:!1}},data(){return{first:this.isBoth()?{rows:0,cols:0}:0,last:this.isBoth()?{rows:0,cols:0}:0,numItemsInViewport:this.isBoth()?{rows:0,cols:0}:0,lastScrollPos:this.isBoth()?{top:0,left:0}:0,d_numToleratedItems:this.numToleratedItems,d_loading:this.loading,loaderArr:[],spacerStyle:{},contentStyle:{}}},element:null,content:null,lastScrollPos:null,scrollTimeout:null,mounted(){this.init(),this.lastScrollPos=this.isBoth()?{top:0,left:0}:0},watch:{numToleratedItems(t){this.d_numToleratedItems=t},loading(t){this.d_loading=t},items(t,s){s&&s.length===(t||[]).length||this.init()},orientation(){this.lastScrollPos=this.isBoth()?{top:0,left:0}:0}},methods:{init(){this.setSize(),this.calculateOptions(),this.setSpacerSize()},isVertical(){return"vertical"===this.orientation},isHorizontal(){return"horizontal"===this.orientation},isBoth(){return"both"===this.orientation},scrollTo(t){this.element&&this.element.scrollTo(t)},scrollToIndex(t,s="auto"){const e=this.isBoth(),i=this.isHorizontal(),o=this.first,{numToleratedItems:l}=this.calculateNumItems(),n=this.itemSize,r=this.getContentPosition(),a=(t=0,s)=>t<=s?0:t,h=(t,s,e)=>t*s+e,c=(t=0,e=0)=>this.scrollTo({left:t,top:e,behavior:s});if(e){const s={rows:a(t[0],l[0]),cols:a(t[1],l[1])};s.rows===o.rows&&s.cols===o.cols||(c(h(s.cols,n[1],r.left),h(s.rows,n[0],r.top)),this.first=s)}else{const s=a(t,l);s!==o&&(i?c(h(s,n,r.left),0):c(0,h(s,n,r.top)),this.first=s)}},scrollInView(t,s,e="auto"){if(s){const i=this.isBoth(),o=this.isHorizontal(),{first:l,viewport:n}=this.getRenderedRange(),r=(t=0,s=0)=>this.scrollTo({left:t,top:s,behavior:e}),a="to-end"===s;if("to-start"===s){if(i)n.first.rows-l.rows>t[0]?r(n.first.cols*this.itemSize[1],(n.first.rows-1)*this.itemSize[0]):n.first.cols-l.cols>t[1]&&r((n.first.cols-1)*this.itemSize[1],n.first.rows*this.itemSize[0]);else if(n.first-l>t){const t=(n.first-1)*this.itemSize;o?r(t,0):r(0,t)}}else if(a)if(i)n.last.rows-l.rows<=t[0]+1?r(n.first.cols*this.itemSize[1],(n.first.rows+1)*this.itemSize[0]):n.last.cols-l.cols<=t[1]+1&&r((n.first.cols+1)*this.itemSize[1],n.first.rows*this.itemSize[0]);else if(n.last-l<=t+1){const t=(n.first+1)*this.itemSize;o?r(t,0):r(0,t)}}else this.scrollToIndex(t,e)},getRenderedRange(){const t=(t,s)=>Math.floor(t/(s||t));let s=this.first,e=0;if(this.element){const i=this.isBoth(),o=this.isHorizontal(),l=this.element.scrollTop,n=this.element.scrollLeft;if(i)s={rows:t(l,this.itemSize[0]),cols:t(n,this.itemSize[1])},e={rows:s.rows+this.numItemsInViewport.rows,cols:s.cols+this.numItemsInViewport.cols};else{s=t(o?n:l,this.itemSize),e=s+this.numItemsInViewport}}return{first:this.first,last:this.last,viewport:{first:s,last:e}}},calculateNumItems(){const t=this.isBoth(),s=this.isHorizontal(),e=this.itemSize,i=this.getContentPosition(),o=this.element?this.element.offsetWidth-i.left:0,l=this.element?this.element.offsetHeight-i.top:0,n=(t,s)=>Math.ceil(t/(s||t)),r=t=>Math.ceil(t/2),a=t?{rows:n(l,e[0]),cols:n(o,e[1])}:n(s?o:l,e);return{numItemsInViewport:a,numToleratedItems:this.d_numToleratedItems||(t?[r(a.rows),r(a.cols)]:r(a))}},calculateOptions(){const t=this.isBoth(),s=this.first,{numItemsInViewport:e,numToleratedItems:i}=this.calculateNumItems(),o=(t,s,e,i)=>this.getLast(t+s+(t<e?2:3)*e,i),l=t?{rows:o(s.rows,e.rows,i[0]),cols:o(s.cols,e.cols,i[1],!0)}:o(s,e,i);this.last=l,this.numItemsInViewport=e,this.d_numToleratedItems=i,this.$emit("update:numToleratedItems",this.d_numToleratedItems),this.showLoader&&(this.loaderArr=t?Array.from({length:e.rows}).map((()=>Array.from({length:e.cols}))):Array.from({length:e})),this.lazy&&this.$emit("lazy-load",{first:s,last:l})},getLast(t=0,s){return this.items?Math.min(s?(this.columns||this.items[0]).length:this.items.length,t):0},getContentPosition(){if(this.content){const t=getComputedStyle(this.content),s=parseInt(t.paddingLeft,10)+Math.max(parseInt(t.left,10),0),e=parseInt(t.paddingRight,10)+Math.max(parseInt(t.right,10),0),i=parseInt(t.paddingTop,10)+Math.max(parseInt(t.top,10),0),o=parseInt(t.paddingBottom,10)+Math.max(parseInt(t.bottom,10),0);return{left:s,right:e,top:i,bottom:o,x:s+e,y:i+o}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},setSize(){if(this.element){const t=this.isBoth(),s=this.isHorizontal(),e=this.element.parentElement,i=this.scrollWidth||`${this.element.offsetWidth||e.offsetWidth}px`,o=this.scrollHeight||`${this.element.offsetHeight||e.offsetHeight}px`,l=(t,s)=>this.element.style[t]=s;t||s?(l("height",o),l("width",i)):l("height",o)}},setSpacerSize(){const t=this.items;if(t){const s=this.isBoth(),e=this.isHorizontal(),i=this.getContentPosition(),o=(t,s,e,i=0)=>this.spacerStyle={...this.spacerStyle,[`${t}`]:(s||[]).length*e+i+"px"};s?(o("height",t,this.itemSize[0],i.y),o("width",this.columns||t[1],this.itemSize[1],i.x)):e?o("width",this.columns||t,this.itemSize,i.x):o("height",t,this.itemSize,i.y)}},setContentPosition(t){if(this.content){const s=this.isBoth(),e=this.isHorizontal(),i=t?t.first:this.first,o=(t,s)=>t*s,l=(t=0,s=0)=>{this.contentStyle={...this.contentStyle,transform:`translate3d(${t}px, ${s}px, 0)`}};if(s)l(o(i.cols,this.itemSize[1]),o(i.rows,this.itemSize[0]));else{const t=o(i,this.itemSize);e?l(t,0):l(0,t)}}},onScrollPositionChange(t){const s=t.target,e=this.isBoth(),i=this.isHorizontal(),o=this.getContentPosition(),l=(t,s)=>t?t>s?t-s:t:0,n=(t,s)=>Math.floor(t/(s||t)),r=(t,s,e,i,o,l)=>t<=o?o:l?e-i-o:s+o-1,a=(t,s,e,i,o,l,n)=>t<=l?0:Math.max(0,n?t<s?e:t-l:t>s?e:t-2*l),h=(t,s,e,i,o,l)=>{let n=s+i+2*o;return t>=o&&(n+=o+1),this.getLast(n,l)},c=l(s.scrollTop,o.top),m=l(s.scrollLeft,o.left);let d=0,u=this.last,p=!1;if(e){const t=this.lastScrollPos.top<=c,s=this.lastScrollPos.left<=m,e={rows:n(c,this.itemSize[0]),cols:n(m,this.itemSize[1])},i={rows:r(e.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],t),cols:r(e.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],s)};d={rows:a(e.rows,i.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],t),cols:a(e.cols,i.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],s)},u={rows:h(e.rows,d.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0]),cols:h(e.cols,d.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],!0)},p=d.rows!==this.first.rows&&u.rows!==this.last.rows||d.cols!==this.first.cols&&u.cols!==this.last.cols,this.lastScrollPos={top:c,left:m}}else{const t=i?m:c,s=this.lastScrollPos<=t,e=n(t,this.itemSize);d=a(e,r(e,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,s),this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,s),u=h(e,d,this.last,this.numItemsInViewport,this.d_numToleratedItems),p=d!==this.first&&u!==this.last,this.lastScrollPos=t}return{first:d,last:u,isRangeChanged:p}},onScrollChange(t){const{first:s,last:e,isRangeChanged:i}=this.onScrollPositionChange(t);if(i){const t={first:s,last:e};this.setContentPosition(t),this.first=s,this.last=e,this.$emit("scroll-index-change",t),this.lazy&&this.$emit("lazy-load",t)}},onScroll(t){if(this.$emit("scroll",t),this.delay){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),!this.d_loading&&this.showLoader){const{isRangeChanged:s}=this.onScrollPositionChange(t);s&&(this.d_loading=!0)}this.scrollTimeout=setTimeout((()=>{this.onScrollChange(t),this.d_loading&&this.showLoader&&!this.lazy&&(this.d_loading=!1)}),this.delay)}else this.onScrollChange(t)},getOptions(t){const s=(this.items||[]).length,e=this.isBoth()?this.first.rows+t:this.first+t;return{index:e,count:s,first:0===e,last:e===s-1,even:e%2==0,odd:e%2!=0}},getLoaderOptions(t,s){let e=this.loaderArr.length;return{index:t,count:e,first:0===t,last:t===e-1,even:t%2==0,odd:t%2!=0,...s}},elementRef(t){this.element=t},contentRef(t){this.content=t}},computed:{containerClass(){return["p-virtualscroller",{"p-both-scroll":this.isBoth(),"p-horizontal-scroll":this.isHorizontal()},this.class]},contentClass(){return["p-virtualscroller-content",{"p-virtualscroller-loading":this.d_loading}]},loaderClass(){return["p-virtualscroller-loader",{"p-component-overlay":!this.$slots.loader}]},loadedItems(){const t=this.items;return t&&!this.d_loading?this.isBoth()?t.slice(this.first.rows,this.last.rows).map((t=>this.columns?t:t.slice(this.first.cols,this.last.cols))):this.isHorizontal()&&this.columns?t:t.slice(this.first,this.last):[]},loadedRows(){return this.d_loading?this.loaderDisabled?this.loaderArr:[]:this.loadedItems},loadedColumns(){if(this.columns){const t=this.isBoth(),s=this.isHorizontal();if(t||s)return this.d_loading&&this.loaderDisabled?t?this.loaderArr[0]:this.loaderArr:this.columns.slice(t?this.first.cols:this.first,t?this.last.cols:this.last)}return this.columns}}};const e={key:1,class:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"};!function(t,s){void 0===s&&(s={});var e=s.insertAt;if(t&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===e&&i.firstChild?i.insertBefore(o,i.firstChild):i.appendChild(o),o.styleSheet?o.styleSheet.cssText=t:o.appendChild(document.createTextNode(t))}}("\n.p-virtualscroller {\n position: relative;\n overflow: auto;\n contain: strict;\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n will-change: scroll-position;\n outline: 0 none;\n}\n.p-virtualscroller-content {\n position: absolute;\n top: 0;\n left: 0;\n contain: content;\n min-height: 100%;\n min-width: 100%;\n will-change: transform;\n}\n.p-virtualscroller-spacer {\n position: absolute;\n top: 0;\n left: 0;\n height: 1px;\n width: 1px;\n -webkit-transform-origin: 0 0;\n transform-origin: 0 0;\n pointer-events: none;\n}\n.p-virtualscroller .p-virtualscroller-loader {\n position: sticky;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.p-virtualscroller-loader.p-component-overlay {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n"),s.render=function(s,i,o,l,n,r){return o.disabled?(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.renderSlot(s.$slots,"default"),t.renderSlot(s.$slots,"content",{items:o.items,rows:o.items,columns:r.loadedColumns})],64)):(t.openBlock(),t.createElementBlock("div",{key:0,ref:r.elementRef,class:t.normalizeClass(r.containerClass),tabindex:0,style:t.normalizeStyle(o.style),onScroll:i[0]||(i[0]=(...t)=>r.onScroll&&r.onScroll(...t))},[t.renderSlot(s.$slots,"content",{styleClass:r.contentClass,items:r.loadedItems,getItemOptions:r.getOptions,loading:n.d_loading,getLoaderOptions:r.getLoaderOptions,itemSize:o.itemSize,rows:r.loadedRows,columns:r.loadedColumns,contentRef:r.contentRef,spacerStyle:n.spacerStyle,contentStyle:n.contentStyle,vertical:r.isVertical(),horizontal:r.isHorizontal(),both:r.isBoth()},(()=>[t.createElementVNode("div",{ref:r.contentRef,class:t.normalizeClass(r.contentClass),style:t.normalizeStyle(n.contentStyle)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.loadedItems,((e,i)=>t.renderSlot(s.$slots,"item",{key:i,item:e,options:r.getOptions(i)}))),128))],6)])),o.showSpacer?(t.openBlock(),t.createElementBlock("div",{key:0,class:"p-virtualscroller-spacer",style:t.normalizeStyle(n.spacerStyle)},null,4)):t.createCommentVNode("",!0),!o.loaderDisabled&&o.showLoader&&n.d_loading?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(r.loaderClass)},[s.$slots&&s.$slots.loader?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(n.loaderArr,((e,i)=>t.renderSlot(s.$slots,"loader",{key:i,options:r.getLoaderOptions(i,r.isBoth()&&{numCols:s.d_numItemsInViewport.cols})}))),128)):(t.openBlock(),t.createElementBlock("i",e))],2)):t.createCommentVNode("",!0)],38))},module.exports=s;
@@ -1,4 +1,4 @@
1
- import { openBlock, createBlock, renderSlot, createVNode, Fragment, renderList, createCommentVNode } from 'vue';
1
+ import { openBlock, createElementBlock, normalizeClass, normalizeStyle, renderSlot, createElementVNode, Fragment, renderList, createCommentVNode } from 'vue';
2
2
 
3
3
  var script = {
4
4
  name: 'VirtualScroller',
@@ -548,13 +548,13 @@ const _hoisted_1 = {
548
548
 
549
549
  function render(_ctx, _cache, $props, $setup, $data, $options) {
550
550
  return (!$props.disabled)
551
- ? (openBlock(), createBlock("div", {
551
+ ? (openBlock(), createElementBlock("div", {
552
552
  key: 0,
553
553
  ref: $options.elementRef,
554
- class: $options.containerClass,
554
+ class: normalizeClass($options.containerClass),
555
555
  tabindex: 0,
556
- style: $props.style,
557
- onScroll: _cache[1] || (_cache[1] = (...args) => ($options.onScroll && $options.onScroll(...args)))
556
+ style: normalizeStyle($props.style),
557
+ onScroll: _cache[0] || (_cache[0] = (...args) => ($options.onScroll && $options.onScroll(...args)))
558
558
  }, [
559
559
  renderSlot(_ctx.$slots, "content", {
560
560
  styleClass: $options.contentClass,
@@ -572,12 +572,12 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
572
572
  horizontal: $options.isHorizontal(),
573
573
  both: $options.isBoth()
574
574
  }, () => [
575
- createVNode("div", {
575
+ createElementVNode("div", {
576
576
  ref: $options.contentRef,
577
- class: $options.contentClass,
578
- style: $data.contentStyle
577
+ class: normalizeClass($options.contentClass),
578
+ style: normalizeStyle($data.contentStyle)
579
579
  }, [
580
- (openBlock(true), createBlock(Fragment, null, renderList($options.loadedItems, (item, index) => {
580
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.loadedItems, (item, index) => {
581
581
  return renderSlot(_ctx.$slots, "item", {
582
582
  key: index,
583
583
  item: item,
@@ -587,29 +587,29 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
587
587
  ], 6)
588
588
  ]),
589
589
  ($props.showSpacer)
590
- ? (openBlock(), createBlock("div", {
590
+ ? (openBlock(), createElementBlock("div", {
591
591
  key: 0,
592
592
  class: "p-virtualscroller-spacer",
593
- style: $data.spacerStyle
593
+ style: normalizeStyle($data.spacerStyle)
594
594
  }, null, 4))
595
595
  : createCommentVNode("", true),
596
596
  (!$props.loaderDisabled && $props.showLoader && $data.d_loading)
597
- ? (openBlock(), createBlock("div", {
597
+ ? (openBlock(), createElementBlock("div", {
598
598
  key: 1,
599
- class: $options.loaderClass
599
+ class: normalizeClass($options.loaderClass)
600
600
  }, [
601
601
  (_ctx.$slots && _ctx.$slots.loader)
602
- ? (openBlock(true), createBlock(Fragment, { key: 0 }, renderList($data.loaderArr, (_, index) => {
602
+ ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList($data.loaderArr, (_, index) => {
603
603
  return renderSlot(_ctx.$slots, "loader", {
604
604
  key: index,
605
605
  options: $options.getLoaderOptions(index, $options.isBoth() && { numCols: _ctx.d_numItemsInViewport.cols })
606
606
  })
607
607
  }), 128))
608
- : (openBlock(), createBlock("i", _hoisted_1))
608
+ : (openBlock(), createElementBlock("i", _hoisted_1))
609
609
  ], 2))
610
610
  : createCommentVNode("", true)
611
611
  ], 38))
612
- : (openBlock(), createBlock(Fragment, { key: 1 }, [
612
+ : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
613
613
  renderSlot(_ctx.$slots, "default"),
614
614
  renderSlot(_ctx.$slots, "content", {
615
615
  items: $props.items,
@@ -651,4 +651,4 @@ styleInject(css_248z);
651
651
 
652
652
  script.render = render;
653
653
 
654
- export default script;
654
+ export { script as default };
@@ -1 +1 @@
1
- import{openBlock as t,createBlock as s,renderSlot as e,createVNode as i,Fragment as o,renderList as l,createCommentVNode as n}from"vue";var r={name:"VirtualScroller",emits:["update:numToleratedItems","scroll","scroll-index-change","lazy-load"],props:{id:{type:String,default:null},style:null,class:null,items:{type:Array,default:null},itemSize:{type:[Number,Array],default:0},scrollHeight:null,scrollWidth:null,orientation:{type:String,default:"vertical"},numToleratedItems:{type:Number,default:null},delay:{type:Number,default:0},lazy:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loaderDisabled:{type:Boolean,default:!1},columns:{type:Array,default:null},loading:{type:Boolean,default:!1},showSpacer:{type:Boolean,default:!0},showLoader:{type:Boolean,default:!1}},data(){return{first:this.isBoth()?{rows:0,cols:0}:0,last:this.isBoth()?{rows:0,cols:0}:0,numItemsInViewport:this.isBoth()?{rows:0,cols:0}:0,lastScrollPos:this.isBoth()?{top:0,left:0}:0,d_numToleratedItems:this.numToleratedItems,d_loading:this.loading,loaderArr:[],spacerStyle:{},contentStyle:{}}},element:null,content:null,lastScrollPos:null,scrollTimeout:null,mounted(){this.init(),this.lastScrollPos=this.isBoth()?{top:0,left:0}:0},watch:{numToleratedItems(t){this.d_numToleratedItems=t},loading(t){this.d_loading=t},items(t,s){s&&s.length===(t||[]).length||this.init()},orientation(){this.lastScrollPos=this.isBoth()?{top:0,left:0}:0}},methods:{init(){this.setSize(),this.calculateOptions(),this.setSpacerSize()},isVertical(){return"vertical"===this.orientation},isHorizontal(){return"horizontal"===this.orientation},isBoth(){return"both"===this.orientation},scrollTo(t){this.element&&this.element.scrollTo(t)},scrollToIndex(t,s="auto"){const e=this.isBoth(),i=this.isHorizontal(),o=this.first,{numToleratedItems:l}=this.calculateNumItems(),n=this.itemSize,r=this.getContentPosition(),h=(t=0,s)=>t<=s?0:t,a=(t,s,e)=>t*s+e,c=(t=0,e=0)=>this.scrollTo({left:t,top:e,behavior:s});if(e){const s={rows:h(t[0],l[0]),cols:h(t[1],l[1])};s.rows===o.rows&&s.cols===o.cols||(c(a(s.cols,n[1],r.left),a(s.rows,n[0],r.top)),this.first=s)}else{const s=h(t,l);s!==o&&(i?c(a(s,n,r.left),0):c(0,a(s,n,r.top)),this.first=s)}},scrollInView(t,s,e="auto"){if(s){const i=this.isBoth(),o=this.isHorizontal(),{first:l,viewport:n}=this.getRenderedRange(),r=(t=0,s=0)=>this.scrollTo({left:t,top:s,behavior:e}),h="to-end"===s;if("to-start"===s){if(i)n.first.rows-l.rows>t[0]?r(n.first.cols*this.itemSize[1],(n.first.rows-1)*this.itemSize[0]):n.first.cols-l.cols>t[1]&&r((n.first.cols-1)*this.itemSize[1],n.first.rows*this.itemSize[0]);else if(n.first-l>t){const t=(n.first-1)*this.itemSize;o?r(t,0):r(0,t)}}else if(h)if(i)n.last.rows-l.rows<=t[0]+1?r(n.first.cols*this.itemSize[1],(n.first.rows+1)*this.itemSize[0]):n.last.cols-l.cols<=t[1]+1&&r((n.first.cols+1)*this.itemSize[1],n.first.rows*this.itemSize[0]);else if(n.last-l<=t+1){const t=(n.first+1)*this.itemSize;o?r(t,0):r(0,t)}}else this.scrollToIndex(t,e)},getRenderedRange(){const t=(t,s)=>Math.floor(t/(s||t));let s=this.first,e=0;if(this.element){const i=this.isBoth(),o=this.isHorizontal(),l=this.element.scrollTop,n=this.element.scrollLeft;if(i)s={rows:t(l,this.itemSize[0]),cols:t(n,this.itemSize[1])},e={rows:s.rows+this.numItemsInViewport.rows,cols:s.cols+this.numItemsInViewport.cols};else{s=t(o?n:l,this.itemSize),e=s+this.numItemsInViewport}}return{first:this.first,last:this.last,viewport:{first:s,last:e}}},calculateNumItems(){const t=this.isBoth(),s=this.isHorizontal(),e=this.itemSize,i=this.getContentPosition(),o=this.element?this.element.offsetWidth-i.left:0,l=this.element?this.element.offsetHeight-i.top:0,n=(t,s)=>Math.ceil(t/(s||t)),r=t=>Math.ceil(t/2),h=t?{rows:n(l,e[0]),cols:n(o,e[1])}:n(s?o:l,e);return{numItemsInViewport:h,numToleratedItems:this.d_numToleratedItems||(t?[r(h.rows),r(h.cols)]:r(h))}},calculateOptions(){const t=this.isBoth(),s=this.first,{numItemsInViewport:e,numToleratedItems:i}=this.calculateNumItems(),o=(t,s,e,i)=>this.getLast(t+s+(t<e?2:3)*e,i),l=t?{rows:o(s.rows,e.rows,i[0]),cols:o(s.cols,e.cols,i[1],!0)}:o(s,e,i);this.last=l,this.numItemsInViewport=e,this.d_numToleratedItems=i,this.$emit("update:numToleratedItems",this.d_numToleratedItems),this.showLoader&&(this.loaderArr=t?Array.from({length:e.rows}).map((()=>Array.from({length:e.cols}))):Array.from({length:e})),this.lazy&&this.$emit("lazy-load",{first:s,last:l})},getLast(t=0,s){return this.items?Math.min(s?(this.columns||this.items[0]).length:this.items.length,t):0},getContentPosition(){if(this.content){const t=getComputedStyle(this.content),s=parseInt(t.paddingLeft,10)+Math.max(parseInt(t.left,10),0),e=parseInt(t.paddingRight,10)+Math.max(parseInt(t.right,10),0),i=parseInt(t.paddingTop,10)+Math.max(parseInt(t.top,10),0),o=parseInt(t.paddingBottom,10)+Math.max(parseInt(t.bottom,10),0);return{left:s,right:e,top:i,bottom:o,x:s+e,y:i+o}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},setSize(){if(this.element){const t=this.isBoth(),s=this.isHorizontal(),e=this.element.parentElement,i=this.scrollWidth||`${this.element.offsetWidth||e.offsetWidth}px`,o=this.scrollHeight||`${this.element.offsetHeight||e.offsetHeight}px`,l=(t,s)=>this.element.style[t]=s;t||s?(l("height",o),l("width",i)):l("height",o)}},setSpacerSize(){const t=this.items;if(t){const s=this.isBoth(),e=this.isHorizontal(),i=this.getContentPosition(),o=(t,s,e,i=0)=>this.spacerStyle={...this.spacerStyle,[`${t}`]:(s||[]).length*e+i+"px"};s?(o("height",t,this.itemSize[0],i.y),o("width",this.columns||t[1],this.itemSize[1],i.x)):e?o("width",this.columns||t,this.itemSize,i.x):o("height",t,this.itemSize,i.y)}},setContentPosition(t){if(this.content){const s=this.isBoth(),e=this.isHorizontal(),i=t?t.first:this.first,o=(t,s)=>t*s,l=(t=0,s=0)=>{this.contentStyle={...this.contentStyle,transform:`translate3d(${t}px, ${s}px, 0)`}};if(s)l(o(i.cols,this.itemSize[1]),o(i.rows,this.itemSize[0]));else{const t=o(i,this.itemSize);e?l(t,0):l(0,t)}}},onScrollPositionChange(t){const s=t.target,e=this.isBoth(),i=this.isHorizontal(),o=this.getContentPosition(),l=(t,s)=>t?t>s?t-s:t:0,n=(t,s)=>Math.floor(t/(s||t)),r=(t,s,e,i,o,l)=>t<=o?o:l?e-i-o:s+o-1,h=(t,s,e,i,o,l,n)=>t<=l?0:Math.max(0,n?t<s?e:t-l:t>s?e:t-2*l),a=(t,s,e,i,o,l)=>{let n=s+i+2*o;return t>=o&&(n+=o+1),this.getLast(n,l)},c=l(s.scrollTop,o.top),m=l(s.scrollLeft,o.left);let d=0,u=this.last,f=!1;if(e){const t=this.lastScrollPos.top<=c,s=this.lastScrollPos.left<=m,e={rows:n(c,this.itemSize[0]),cols:n(m,this.itemSize[1])},i={rows:r(e.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],t),cols:r(e.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],s)};d={rows:h(e.rows,i.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],t),cols:h(e.cols,i.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],s)},u={rows:a(e.rows,d.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0]),cols:a(e.cols,d.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],!0)},f=d.rows!==this.first.rows&&u.rows!==this.last.rows||d.cols!==this.first.cols&&u.cols!==this.last.cols,this.lastScrollPos={top:c,left:m}}else{const t=i?m:c,s=this.lastScrollPos<=t,e=n(t,this.itemSize);d=h(e,r(e,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,s),this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,s),u=a(e,d,this.last,this.numItemsInViewport,this.d_numToleratedItems),f=d!==this.first&&u!==this.last,this.lastScrollPos=t}return{first:d,last:u,isRangeChanged:f}},onScrollChange(t){const{first:s,last:e,isRangeChanged:i}=this.onScrollPositionChange(t);if(i){const t={first:s,last:e};this.setContentPosition(t),this.first=s,this.last=e,this.$emit("scroll-index-change",t),this.lazy&&this.$emit("lazy-load",t)}},onScroll(t){if(this.$emit("scroll",t),this.delay){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),!this.d_loading&&this.showLoader){const{isRangeChanged:s}=this.onScrollPositionChange(t);s&&(this.d_loading=!0)}this.scrollTimeout=setTimeout((()=>{this.onScrollChange(t),this.d_loading&&this.showLoader&&!this.lazy&&(this.d_loading=!1)}),this.delay)}else this.onScrollChange(t)},getOptions(t){const s=(this.items||[]).length,e=this.isBoth()?this.first.rows+t:this.first+t;return{index:e,count:s,first:0===e,last:e===s-1,even:e%2==0,odd:e%2!=0}},getLoaderOptions(t,s){let e=this.loaderArr.length;return{index:t,count:e,first:0===t,last:t===e-1,even:t%2==0,odd:t%2!=0,...s}},elementRef(t){this.element=t},contentRef(t){this.content=t}},computed:{containerClass(){return["p-virtualscroller",{"p-both-scroll":this.isBoth(),"p-horizontal-scroll":this.isHorizontal()},this.class]},contentClass(){return["p-virtualscroller-content",{"p-virtualscroller-loading":this.d_loading}]},loaderClass(){return["p-virtualscroller-loader",{"p-component-overlay":!this.$slots.loader}]},loadedItems(){const t=this.items;return t&&!this.d_loading?this.isBoth()?t.slice(this.first.rows,this.last.rows).map((t=>this.columns?t:t.slice(this.first.cols,this.last.cols))):this.isHorizontal()&&this.columns?t:t.slice(this.first,this.last):[]},loadedRows(){return this.d_loading?this.loaderDisabled?this.loaderArr:[]:this.loadedItems},loadedColumns(){if(this.columns){const t=this.isBoth(),s=this.isHorizontal();if(t||s)return this.d_loading&&this.loaderDisabled?t?this.loaderArr[0]:this.loaderArr:this.columns.slice(t?this.first.cols:this.first,t?this.last.cols:this.last)}return this.columns}}};const h={key:1,class:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"};!function(t,s){void 0===s&&(s={});var e=s.insertAt;if(t&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===e&&i.firstChild?i.insertBefore(o,i.firstChild):i.appendChild(o),o.styleSheet?o.styleSheet.cssText=t:o.appendChild(document.createTextNode(t))}}("\n.p-virtualscroller {\n position: relative;\n overflow: auto;\n contain: strict;\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n will-change: scroll-position;\n outline: 0 none;\n}\n.p-virtualscroller-content {\n position: absolute;\n top: 0;\n left: 0;\n contain: content;\n min-height: 100%;\n min-width: 100%;\n will-change: transform;\n}\n.p-virtualscroller-spacer {\n position: absolute;\n top: 0;\n left: 0;\n height: 1px;\n width: 1px;\n -webkit-transform-origin: 0 0;\n transform-origin: 0 0;\n pointer-events: none;\n}\n.p-virtualscroller .p-virtualscroller-loader {\n position: sticky;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.p-virtualscroller-loader.p-component-overlay {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n"),r.render=function(r,a,c,m,d,u){return c.disabled?(t(),s(o,{key:1},[e(r.$slots,"default"),e(r.$slots,"content",{items:c.items,rows:c.items,columns:u.loadedColumns})],64)):(t(),s("div",{key:0,ref:u.elementRef,class:u.containerClass,tabindex:0,style:c.style,onScroll:a[1]||(a[1]=(...t)=>u.onScroll&&u.onScroll(...t))},[e(r.$slots,"content",{styleClass:u.contentClass,items:u.loadedItems,getItemOptions:u.getOptions,loading:d.d_loading,getLoaderOptions:u.getLoaderOptions,itemSize:c.itemSize,rows:u.loadedRows,columns:u.loadedColumns,contentRef:u.contentRef,spacerStyle:d.spacerStyle,contentStyle:d.contentStyle,vertical:u.isVertical(),horizontal:u.isHorizontal(),both:u.isBoth()},(()=>[i("div",{ref:u.contentRef,class:u.contentClass,style:d.contentStyle},[(t(!0),s(o,null,l(u.loadedItems,((t,s)=>e(r.$slots,"item",{key:s,item:t,options:u.getOptions(s)}))),128))],6)])),c.showSpacer?(t(),s("div",{key:0,class:"p-virtualscroller-spacer",style:d.spacerStyle},null,4)):n("",!0),!c.loaderDisabled&&c.showLoader&&d.d_loading?(t(),s("div",{key:1,class:u.loaderClass},[r.$slots&&r.$slots.loader?(t(!0),s(o,{key:0},l(d.loaderArr,((t,s)=>e(r.$slots,"loader",{key:s,options:u.getLoaderOptions(s,u.isBoth()&&{numCols:r.d_numItemsInViewport.cols})}))),128)):(t(),s("i",h))],2)):n("",!0)],38))};export default r;
1
+ import{openBlock as t,createElementBlock as s,normalizeClass as e,normalizeStyle as i,renderSlot as o,createElementVNode as l,Fragment as n,renderList as r,createCommentVNode as a}from"vue";var h={name:"VirtualScroller",emits:["update:numToleratedItems","scroll","scroll-index-change","lazy-load"],props:{id:{type:String,default:null},style:null,class:null,items:{type:Array,default:null},itemSize:{type:[Number,Array],default:0},scrollHeight:null,scrollWidth:null,orientation:{type:String,default:"vertical"},numToleratedItems:{type:Number,default:null},delay:{type:Number,default:0},lazy:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loaderDisabled:{type:Boolean,default:!1},columns:{type:Array,default:null},loading:{type:Boolean,default:!1},showSpacer:{type:Boolean,default:!0},showLoader:{type:Boolean,default:!1}},data(){return{first:this.isBoth()?{rows:0,cols:0}:0,last:this.isBoth()?{rows:0,cols:0}:0,numItemsInViewport:this.isBoth()?{rows:0,cols:0}:0,lastScrollPos:this.isBoth()?{top:0,left:0}:0,d_numToleratedItems:this.numToleratedItems,d_loading:this.loading,loaderArr:[],spacerStyle:{},contentStyle:{}}},element:null,content:null,lastScrollPos:null,scrollTimeout:null,mounted(){this.init(),this.lastScrollPos=this.isBoth()?{top:0,left:0}:0},watch:{numToleratedItems(t){this.d_numToleratedItems=t},loading(t){this.d_loading=t},items(t,s){s&&s.length===(t||[]).length||this.init()},orientation(){this.lastScrollPos=this.isBoth()?{top:0,left:0}:0}},methods:{init(){this.setSize(),this.calculateOptions(),this.setSpacerSize()},isVertical(){return"vertical"===this.orientation},isHorizontal(){return"horizontal"===this.orientation},isBoth(){return"both"===this.orientation},scrollTo(t){this.element&&this.element.scrollTo(t)},scrollToIndex(t,s="auto"){const e=this.isBoth(),i=this.isHorizontal(),o=this.first,{numToleratedItems:l}=this.calculateNumItems(),n=this.itemSize,r=this.getContentPosition(),a=(t=0,s)=>t<=s?0:t,h=(t,s,e)=>t*s+e,c=(t=0,e=0)=>this.scrollTo({left:t,top:e,behavior:s});if(e){const s={rows:a(t[0],l[0]),cols:a(t[1],l[1])};s.rows===o.rows&&s.cols===o.cols||(c(h(s.cols,n[1],r.left),h(s.rows,n[0],r.top)),this.first=s)}else{const s=a(t,l);s!==o&&(i?c(h(s,n,r.left),0):c(0,h(s,n,r.top)),this.first=s)}},scrollInView(t,s,e="auto"){if(s){const i=this.isBoth(),o=this.isHorizontal(),{first:l,viewport:n}=this.getRenderedRange(),r=(t=0,s=0)=>this.scrollTo({left:t,top:s,behavior:e}),a="to-end"===s;if("to-start"===s){if(i)n.first.rows-l.rows>t[0]?r(n.first.cols*this.itemSize[1],(n.first.rows-1)*this.itemSize[0]):n.first.cols-l.cols>t[1]&&r((n.first.cols-1)*this.itemSize[1],n.first.rows*this.itemSize[0]);else if(n.first-l>t){const t=(n.first-1)*this.itemSize;o?r(t,0):r(0,t)}}else if(a)if(i)n.last.rows-l.rows<=t[0]+1?r(n.first.cols*this.itemSize[1],(n.first.rows+1)*this.itemSize[0]):n.last.cols-l.cols<=t[1]+1&&r((n.first.cols+1)*this.itemSize[1],n.first.rows*this.itemSize[0]);else if(n.last-l<=t+1){const t=(n.first+1)*this.itemSize;o?r(t,0):r(0,t)}}else this.scrollToIndex(t,e)},getRenderedRange(){const t=(t,s)=>Math.floor(t/(s||t));let s=this.first,e=0;if(this.element){const i=this.isBoth(),o=this.isHorizontal(),l=this.element.scrollTop,n=this.element.scrollLeft;if(i)s={rows:t(l,this.itemSize[0]),cols:t(n,this.itemSize[1])},e={rows:s.rows+this.numItemsInViewport.rows,cols:s.cols+this.numItemsInViewport.cols};else{s=t(o?n:l,this.itemSize),e=s+this.numItemsInViewport}}return{first:this.first,last:this.last,viewport:{first:s,last:e}}},calculateNumItems(){const t=this.isBoth(),s=this.isHorizontal(),e=this.itemSize,i=this.getContentPosition(),o=this.element?this.element.offsetWidth-i.left:0,l=this.element?this.element.offsetHeight-i.top:0,n=(t,s)=>Math.ceil(t/(s||t)),r=t=>Math.ceil(t/2),a=t?{rows:n(l,e[0]),cols:n(o,e[1])}:n(s?o:l,e);return{numItemsInViewport:a,numToleratedItems:this.d_numToleratedItems||(t?[r(a.rows),r(a.cols)]:r(a))}},calculateOptions(){const t=this.isBoth(),s=this.first,{numItemsInViewport:e,numToleratedItems:i}=this.calculateNumItems(),o=(t,s,e,i)=>this.getLast(t+s+(t<e?2:3)*e,i),l=t?{rows:o(s.rows,e.rows,i[0]),cols:o(s.cols,e.cols,i[1],!0)}:o(s,e,i);this.last=l,this.numItemsInViewport=e,this.d_numToleratedItems=i,this.$emit("update:numToleratedItems",this.d_numToleratedItems),this.showLoader&&(this.loaderArr=t?Array.from({length:e.rows}).map((()=>Array.from({length:e.cols}))):Array.from({length:e})),this.lazy&&this.$emit("lazy-load",{first:s,last:l})},getLast(t=0,s){return this.items?Math.min(s?(this.columns||this.items[0]).length:this.items.length,t):0},getContentPosition(){if(this.content){const t=getComputedStyle(this.content),s=parseInt(t.paddingLeft,10)+Math.max(parseInt(t.left,10),0),e=parseInt(t.paddingRight,10)+Math.max(parseInt(t.right,10),0),i=parseInt(t.paddingTop,10)+Math.max(parseInt(t.top,10),0),o=parseInt(t.paddingBottom,10)+Math.max(parseInt(t.bottom,10),0);return{left:s,right:e,top:i,bottom:o,x:s+e,y:i+o}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},setSize(){if(this.element){const t=this.isBoth(),s=this.isHorizontal(),e=this.element.parentElement,i=this.scrollWidth||`${this.element.offsetWidth||e.offsetWidth}px`,o=this.scrollHeight||`${this.element.offsetHeight||e.offsetHeight}px`,l=(t,s)=>this.element.style[t]=s;t||s?(l("height",o),l("width",i)):l("height",o)}},setSpacerSize(){const t=this.items;if(t){const s=this.isBoth(),e=this.isHorizontal(),i=this.getContentPosition(),o=(t,s,e,i=0)=>this.spacerStyle={...this.spacerStyle,[`${t}`]:(s||[]).length*e+i+"px"};s?(o("height",t,this.itemSize[0],i.y),o("width",this.columns||t[1],this.itemSize[1],i.x)):e?o("width",this.columns||t,this.itemSize,i.x):o("height",t,this.itemSize,i.y)}},setContentPosition(t){if(this.content){const s=this.isBoth(),e=this.isHorizontal(),i=t?t.first:this.first,o=(t,s)=>t*s,l=(t=0,s=0)=>{this.contentStyle={...this.contentStyle,transform:`translate3d(${t}px, ${s}px, 0)`}};if(s)l(o(i.cols,this.itemSize[1]),o(i.rows,this.itemSize[0]));else{const t=o(i,this.itemSize);e?l(t,0):l(0,t)}}},onScrollPositionChange(t){const s=t.target,e=this.isBoth(),i=this.isHorizontal(),o=this.getContentPosition(),l=(t,s)=>t?t>s?t-s:t:0,n=(t,s)=>Math.floor(t/(s||t)),r=(t,s,e,i,o,l)=>t<=o?o:l?e-i-o:s+o-1,a=(t,s,e,i,o,l,n)=>t<=l?0:Math.max(0,n?t<s?e:t-l:t>s?e:t-2*l),h=(t,s,e,i,o,l)=>{let n=s+i+2*o;return t>=o&&(n+=o+1),this.getLast(n,l)},c=l(s.scrollTop,o.top),m=l(s.scrollLeft,o.left);let d=0,u=this.last,f=!1;if(e){const t=this.lastScrollPos.top<=c,s=this.lastScrollPos.left<=m,e={rows:n(c,this.itemSize[0]),cols:n(m,this.itemSize[1])},i={rows:r(e.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],t),cols:r(e.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],s)};d={rows:a(e.rows,i.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],t),cols:a(e.cols,i.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],s)},u={rows:h(e.rows,d.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0]),cols:h(e.cols,d.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],!0)},f=d.rows!==this.first.rows&&u.rows!==this.last.rows||d.cols!==this.first.cols&&u.cols!==this.last.cols,this.lastScrollPos={top:c,left:m}}else{const t=i?m:c,s=this.lastScrollPos<=t,e=n(t,this.itemSize);d=a(e,r(e,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,s),this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,s),u=h(e,d,this.last,this.numItemsInViewport,this.d_numToleratedItems),f=d!==this.first&&u!==this.last,this.lastScrollPos=t}return{first:d,last:u,isRangeChanged:f}},onScrollChange(t){const{first:s,last:e,isRangeChanged:i}=this.onScrollPositionChange(t);if(i){const t={first:s,last:e};this.setContentPosition(t),this.first=s,this.last=e,this.$emit("scroll-index-change",t),this.lazy&&this.$emit("lazy-load",t)}},onScroll(t){if(this.$emit("scroll",t),this.delay){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),!this.d_loading&&this.showLoader){const{isRangeChanged:s}=this.onScrollPositionChange(t);s&&(this.d_loading=!0)}this.scrollTimeout=setTimeout((()=>{this.onScrollChange(t),this.d_loading&&this.showLoader&&!this.lazy&&(this.d_loading=!1)}),this.delay)}else this.onScrollChange(t)},getOptions(t){const s=(this.items||[]).length,e=this.isBoth()?this.first.rows+t:this.first+t;return{index:e,count:s,first:0===e,last:e===s-1,even:e%2==0,odd:e%2!=0}},getLoaderOptions(t,s){let e=this.loaderArr.length;return{index:t,count:e,first:0===t,last:t===e-1,even:t%2==0,odd:t%2!=0,...s}},elementRef(t){this.element=t},contentRef(t){this.content=t}},computed:{containerClass(){return["p-virtualscroller",{"p-both-scroll":this.isBoth(),"p-horizontal-scroll":this.isHorizontal()},this.class]},contentClass(){return["p-virtualscroller-content",{"p-virtualscroller-loading":this.d_loading}]},loaderClass(){return["p-virtualscroller-loader",{"p-component-overlay":!this.$slots.loader}]},loadedItems(){const t=this.items;return t&&!this.d_loading?this.isBoth()?t.slice(this.first.rows,this.last.rows).map((t=>this.columns?t:t.slice(this.first.cols,this.last.cols))):this.isHorizontal()&&this.columns?t:t.slice(this.first,this.last):[]},loadedRows(){return this.d_loading?this.loaderDisabled?this.loaderArr:[]:this.loadedItems},loadedColumns(){if(this.columns){const t=this.isBoth(),s=this.isHorizontal();if(t||s)return this.d_loading&&this.loaderDisabled?t?this.loaderArr[0]:this.loaderArr:this.columns.slice(t?this.first.cols:this.first,t?this.last.cols:this.last)}return this.columns}}};const c={key:1,class:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"};!function(t,s){void 0===s&&(s={});var e=s.insertAt;if(t&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===e&&i.firstChild?i.insertBefore(o,i.firstChild):i.appendChild(o),o.styleSheet?o.styleSheet.cssText=t:o.appendChild(document.createTextNode(t))}}("\n.p-virtualscroller {\n position: relative;\n overflow: auto;\n contain: strict;\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n will-change: scroll-position;\n outline: 0 none;\n}\n.p-virtualscroller-content {\n position: absolute;\n top: 0;\n left: 0;\n contain: content;\n min-height: 100%;\n min-width: 100%;\n will-change: transform;\n}\n.p-virtualscroller-spacer {\n position: absolute;\n top: 0;\n left: 0;\n height: 1px;\n width: 1px;\n -webkit-transform-origin: 0 0;\n transform-origin: 0 0;\n pointer-events: none;\n}\n.p-virtualscroller .p-virtualscroller-loader {\n position: sticky;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.p-virtualscroller-loader.p-component-overlay {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n"),h.render=function(h,m,d,u,f,p){return d.disabled?(t(),s(n,{key:1},[o(h.$slots,"default"),o(h.$slots,"content",{items:d.items,rows:d.items,columns:p.loadedColumns})],64)):(t(),s("div",{key:0,ref:p.elementRef,class:e(p.containerClass),tabindex:0,style:i(d.style),onScroll:m[0]||(m[0]=(...t)=>p.onScroll&&p.onScroll(...t))},[o(h.$slots,"content",{styleClass:p.contentClass,items:p.loadedItems,getItemOptions:p.getOptions,loading:f.d_loading,getLoaderOptions:p.getLoaderOptions,itemSize:d.itemSize,rows:p.loadedRows,columns:p.loadedColumns,contentRef:p.contentRef,spacerStyle:f.spacerStyle,contentStyle:f.contentStyle,vertical:p.isVertical(),horizontal:p.isHorizontal(),both:p.isBoth()},(()=>[l("div",{ref:p.contentRef,class:e(p.contentClass),style:i(f.contentStyle)},[(t(!0),s(n,null,r(p.loadedItems,((t,s)=>o(h.$slots,"item",{key:s,item:t,options:p.getOptions(s)}))),128))],6)])),d.showSpacer?(t(),s("div",{key:0,class:"p-virtualscroller-spacer",style:i(f.spacerStyle)},null,4)):a("",!0),!d.loaderDisabled&&d.showLoader&&f.d_loading?(t(),s("div",{key:1,class:e(p.loaderClass)},[h.$slots&&h.$slots.loader?(t(!0),s(n,{key:0},r(f.loaderArr,((t,s)=>o(h.$slots,"loader",{key:s,options:p.getLoaderOptions(s,p.isBoth()&&{numCols:h.d_numItemsInViewport.cols})}))),128)):(t(),s("i",c))],2)):a("",!0)],38))};export{h as default};
@@ -550,13 +550,13 @@ this.primevue.virtualscroller = (function (vue) {
550
550
 
551
551
  function render(_ctx, _cache, $props, $setup, $data, $options) {
552
552
  return (!$props.disabled)
553
- ? (vue.openBlock(), vue.createBlock("div", {
553
+ ? (vue.openBlock(), vue.createElementBlock("div", {
554
554
  key: 0,
555
555
  ref: $options.elementRef,
556
- class: $options.containerClass,
556
+ class: vue.normalizeClass($options.containerClass),
557
557
  tabindex: 0,
558
- style: $props.style,
559
- onScroll: _cache[1] || (_cache[1] = (...args) => ($options.onScroll && $options.onScroll(...args)))
558
+ style: vue.normalizeStyle($props.style),
559
+ onScroll: _cache[0] || (_cache[0] = (...args) => ($options.onScroll && $options.onScroll(...args)))
560
560
  }, [
561
561
  vue.renderSlot(_ctx.$slots, "content", {
562
562
  styleClass: $options.contentClass,
@@ -574,12 +574,12 @@ this.primevue.virtualscroller = (function (vue) {
574
574
  horizontal: $options.isHorizontal(),
575
575
  both: $options.isBoth()
576
576
  }, () => [
577
- vue.createVNode("div", {
577
+ vue.createElementVNode("div", {
578
578
  ref: $options.contentRef,
579
- class: $options.contentClass,
580
- style: $data.contentStyle
579
+ class: vue.normalizeClass($options.contentClass),
580
+ style: vue.normalizeStyle($data.contentStyle)
581
581
  }, [
582
- (vue.openBlock(true), vue.createBlock(vue.Fragment, null, vue.renderList($options.loadedItems, (item, index) => {
582
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($options.loadedItems, (item, index) => {
583
583
  return vue.renderSlot(_ctx.$slots, "item", {
584
584
  key: index,
585
585
  item: item,
@@ -589,29 +589,29 @@ this.primevue.virtualscroller = (function (vue) {
589
589
  ], 6)
590
590
  ]),
591
591
  ($props.showSpacer)
592
- ? (vue.openBlock(), vue.createBlock("div", {
592
+ ? (vue.openBlock(), vue.createElementBlock("div", {
593
593
  key: 0,
594
594
  class: "p-virtualscroller-spacer",
595
- style: $data.spacerStyle
595
+ style: vue.normalizeStyle($data.spacerStyle)
596
596
  }, null, 4))
597
597
  : vue.createCommentVNode("", true),
598
598
  (!$props.loaderDisabled && $props.showLoader && $data.d_loading)
599
- ? (vue.openBlock(), vue.createBlock("div", {
599
+ ? (vue.openBlock(), vue.createElementBlock("div", {
600
600
  key: 1,
601
- class: $options.loaderClass
601
+ class: vue.normalizeClass($options.loaderClass)
602
602
  }, [
603
603
  (_ctx.$slots && _ctx.$slots.loader)
604
- ? (vue.openBlock(true), vue.createBlock(vue.Fragment, { key: 0 }, vue.renderList($data.loaderArr, (_, index) => {
604
+ ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList($data.loaderArr, (_, index) => {
605
605
  return vue.renderSlot(_ctx.$slots, "loader", {
606
606
  key: index,
607
607
  options: $options.getLoaderOptions(index, $options.isBoth() && { numCols: _ctx.d_numItemsInViewport.cols })
608
608
  })
609
609
  }), 128))
610
- : (vue.openBlock(), vue.createBlock("i", _hoisted_1))
610
+ : (vue.openBlock(), vue.createElementBlock("i", _hoisted_1))
611
611
  ], 2))
612
612
  : vue.createCommentVNode("", true)
613
613
  ], 38))
614
- : (vue.openBlock(), vue.createBlock(vue.Fragment, { key: 1 }, [
614
+ : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
615
615
  vue.renderSlot(_ctx.$slots, "default"),
616
616
  vue.renderSlot(_ctx.$slots, "content", {
617
617
  items: $props.items,
@@ -655,4 +655,4 @@ this.primevue.virtualscroller = (function (vue) {
655
655
 
656
656
  return script;
657
657
 
658
- }(Vue));
658
+ })(Vue);
@@ -1 +1 @@
1
- this.primevue=this.primevue||{},this.primevue.virtualscroller=function(t){"use strict";var s={name:"VirtualScroller",emits:["update:numToleratedItems","scroll","scroll-index-change","lazy-load"],props:{id:{type:String,default:null},style:null,class:null,items:{type:Array,default:null},itemSize:{type:[Number,Array],default:0},scrollHeight:null,scrollWidth:null,orientation:{type:String,default:"vertical"},numToleratedItems:{type:Number,default:null},delay:{type:Number,default:0},lazy:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loaderDisabled:{type:Boolean,default:!1},columns:{type:Array,default:null},loading:{type:Boolean,default:!1},showSpacer:{type:Boolean,default:!0},showLoader:{type:Boolean,default:!1}},data(){return{first:this.isBoth()?{rows:0,cols:0}:0,last:this.isBoth()?{rows:0,cols:0}:0,numItemsInViewport:this.isBoth()?{rows:0,cols:0}:0,lastScrollPos:this.isBoth()?{top:0,left:0}:0,d_numToleratedItems:this.numToleratedItems,d_loading:this.loading,loaderArr:[],spacerStyle:{},contentStyle:{}}},element:null,content:null,lastScrollPos:null,scrollTimeout:null,mounted(){this.init(),this.lastScrollPos=this.isBoth()?{top:0,left:0}:0},watch:{numToleratedItems(t){this.d_numToleratedItems=t},loading(t){this.d_loading=t},items(t,s){s&&s.length===(t||[]).length||this.init()},orientation(){this.lastScrollPos=this.isBoth()?{top:0,left:0}:0}},methods:{init(){this.setSize(),this.calculateOptions(),this.setSpacerSize()},isVertical(){return"vertical"===this.orientation},isHorizontal(){return"horizontal"===this.orientation},isBoth(){return"both"===this.orientation},scrollTo(t){this.element&&this.element.scrollTo(t)},scrollToIndex(t,s="auto"){const e=this.isBoth(),i=this.isHorizontal(),o=this.first,{numToleratedItems:l}=this.calculateNumItems(),n=this.itemSize,r=this.getContentPosition(),a=(t=0,s)=>t<=s?0:t,h=(t,s,e)=>t*s+e,c=(t=0,e=0)=>this.scrollTo({left:t,top:e,behavior:s});if(e){const s={rows:a(t[0],l[0]),cols:a(t[1],l[1])};s.rows===o.rows&&s.cols===o.cols||(c(h(s.cols,n[1],r.left),h(s.rows,n[0],r.top)),this.first=s)}else{const s=a(t,l);s!==o&&(i?c(h(s,n,r.left),0):c(0,h(s,n,r.top)),this.first=s)}},scrollInView(t,s,e="auto"){if(s){const i=this.isBoth(),o=this.isHorizontal(),{first:l,viewport:n}=this.getRenderedRange(),r=(t=0,s=0)=>this.scrollTo({left:t,top:s,behavior:e}),a="to-end"===s;if("to-start"===s){if(i)n.first.rows-l.rows>t[0]?r(n.first.cols*this.itemSize[1],(n.first.rows-1)*this.itemSize[0]):n.first.cols-l.cols>t[1]&&r((n.first.cols-1)*this.itemSize[1],n.first.rows*this.itemSize[0]);else if(n.first-l>t){const t=(n.first-1)*this.itemSize;o?r(t,0):r(0,t)}}else if(a)if(i)n.last.rows-l.rows<=t[0]+1?r(n.first.cols*this.itemSize[1],(n.first.rows+1)*this.itemSize[0]):n.last.cols-l.cols<=t[1]+1&&r((n.first.cols+1)*this.itemSize[1],n.first.rows*this.itemSize[0]);else if(n.last-l<=t+1){const t=(n.first+1)*this.itemSize;o?r(t,0):r(0,t)}}else this.scrollToIndex(t,e)},getRenderedRange(){const t=(t,s)=>Math.floor(t/(s||t));let s=this.first,e=0;if(this.element){const i=this.isBoth(),o=this.isHorizontal(),l=this.element.scrollTop,n=this.element.scrollLeft;if(i)s={rows:t(l,this.itemSize[0]),cols:t(n,this.itemSize[1])},e={rows:s.rows+this.numItemsInViewport.rows,cols:s.cols+this.numItemsInViewport.cols};else{s=t(o?n:l,this.itemSize),e=s+this.numItemsInViewport}}return{first:this.first,last:this.last,viewport:{first:s,last:e}}},calculateNumItems(){const t=this.isBoth(),s=this.isHorizontal(),e=this.itemSize,i=this.getContentPosition(),o=this.element?this.element.offsetWidth-i.left:0,l=this.element?this.element.offsetHeight-i.top:0,n=(t,s)=>Math.ceil(t/(s||t)),r=t=>Math.ceil(t/2),a=t?{rows:n(l,e[0]),cols:n(o,e[1])}:n(s?o:l,e);return{numItemsInViewport:a,numToleratedItems:this.d_numToleratedItems||(t?[r(a.rows),r(a.cols)]:r(a))}},calculateOptions(){const t=this.isBoth(),s=this.first,{numItemsInViewport:e,numToleratedItems:i}=this.calculateNumItems(),o=(t,s,e,i)=>this.getLast(t+s+(t<e?2:3)*e,i),l=t?{rows:o(s.rows,e.rows,i[0]),cols:o(s.cols,e.cols,i[1],!0)}:o(s,e,i);this.last=l,this.numItemsInViewport=e,this.d_numToleratedItems=i,this.$emit("update:numToleratedItems",this.d_numToleratedItems),this.showLoader&&(this.loaderArr=t?Array.from({length:e.rows}).map((()=>Array.from({length:e.cols}))):Array.from({length:e})),this.lazy&&this.$emit("lazy-load",{first:s,last:l})},getLast(t=0,s){return this.items?Math.min(s?(this.columns||this.items[0]).length:this.items.length,t):0},getContentPosition(){if(this.content){const t=getComputedStyle(this.content),s=parseInt(t.paddingLeft,10)+Math.max(parseInt(t.left,10),0),e=parseInt(t.paddingRight,10)+Math.max(parseInt(t.right,10),0),i=parseInt(t.paddingTop,10)+Math.max(parseInt(t.top,10),0),o=parseInt(t.paddingBottom,10)+Math.max(parseInt(t.bottom,10),0);return{left:s,right:e,top:i,bottom:o,x:s+e,y:i+o}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},setSize(){if(this.element){const t=this.isBoth(),s=this.isHorizontal(),e=this.element.parentElement,i=this.scrollWidth||`${this.element.offsetWidth||e.offsetWidth}px`,o=this.scrollHeight||`${this.element.offsetHeight||e.offsetHeight}px`,l=(t,s)=>this.element.style[t]=s;t||s?(l("height",o),l("width",i)):l("height",o)}},setSpacerSize(){const t=this.items;if(t){const s=this.isBoth(),e=this.isHorizontal(),i=this.getContentPosition(),o=(t,s,e,i=0)=>this.spacerStyle={...this.spacerStyle,[`${t}`]:(s||[]).length*e+i+"px"};s?(o("height",t,this.itemSize[0],i.y),o("width",this.columns||t[1],this.itemSize[1],i.x)):e?o("width",this.columns||t,this.itemSize,i.x):o("height",t,this.itemSize,i.y)}},setContentPosition(t){if(this.content){const s=this.isBoth(),e=this.isHorizontal(),i=t?t.first:this.first,o=(t,s)=>t*s,l=(t=0,s=0)=>{this.contentStyle={...this.contentStyle,transform:`translate3d(${t}px, ${s}px, 0)`}};if(s)l(o(i.cols,this.itemSize[1]),o(i.rows,this.itemSize[0]));else{const t=o(i,this.itemSize);e?l(t,0):l(0,t)}}},onScrollPositionChange(t){const s=t.target,e=this.isBoth(),i=this.isHorizontal(),o=this.getContentPosition(),l=(t,s)=>t?t>s?t-s:t:0,n=(t,s)=>Math.floor(t/(s||t)),r=(t,s,e,i,o,l)=>t<=o?o:l?e-i-o:s+o-1,a=(t,s,e,i,o,l,n)=>t<=l?0:Math.max(0,n?t<s?e:t-l:t>s?e:t-2*l),h=(t,s,e,i,o,l)=>{let n=s+i+2*o;return t>=o&&(n+=o+1),this.getLast(n,l)},c=l(s.scrollTop,o.top),m=l(s.scrollLeft,o.left);let d=0,u=this.last,p=!1;if(e){const t=this.lastScrollPos.top<=c,s=this.lastScrollPos.left<=m,e={rows:n(c,this.itemSize[0]),cols:n(m,this.itemSize[1])},i={rows:r(e.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],t),cols:r(e.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],s)};d={rows:a(e.rows,i.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],t),cols:a(e.cols,i.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],s)},u={rows:h(e.rows,d.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0]),cols:h(e.cols,d.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],!0)},p=d.rows!==this.first.rows&&u.rows!==this.last.rows||d.cols!==this.first.cols&&u.cols!==this.last.cols,this.lastScrollPos={top:c,left:m}}else{const t=i?m:c,s=this.lastScrollPos<=t,e=n(t,this.itemSize);d=a(e,r(e,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,s),this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,s),u=h(e,d,this.last,this.numItemsInViewport,this.d_numToleratedItems),p=d!==this.first&&u!==this.last,this.lastScrollPos=t}return{first:d,last:u,isRangeChanged:p}},onScrollChange(t){const{first:s,last:e,isRangeChanged:i}=this.onScrollPositionChange(t);if(i){const t={first:s,last:e};this.setContentPosition(t),this.first=s,this.last=e,this.$emit("scroll-index-change",t),this.lazy&&this.$emit("lazy-load",t)}},onScroll(t){if(this.$emit("scroll",t),this.delay){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),!this.d_loading&&this.showLoader){const{isRangeChanged:s}=this.onScrollPositionChange(t);s&&(this.d_loading=!0)}this.scrollTimeout=setTimeout((()=>{this.onScrollChange(t),this.d_loading&&this.showLoader&&!this.lazy&&(this.d_loading=!1)}),this.delay)}else this.onScrollChange(t)},getOptions(t){const s=(this.items||[]).length,e=this.isBoth()?this.first.rows+t:this.first+t;return{index:e,count:s,first:0===e,last:e===s-1,even:e%2==0,odd:e%2!=0}},getLoaderOptions(t,s){let e=this.loaderArr.length;return{index:t,count:e,first:0===t,last:t===e-1,even:t%2==0,odd:t%2!=0,...s}},elementRef(t){this.element=t},contentRef(t){this.content=t}},computed:{containerClass(){return["p-virtualscroller",{"p-both-scroll":this.isBoth(),"p-horizontal-scroll":this.isHorizontal()},this.class]},contentClass(){return["p-virtualscroller-content",{"p-virtualscroller-loading":this.d_loading}]},loaderClass(){return["p-virtualscroller-loader",{"p-component-overlay":!this.$slots.loader}]},loadedItems(){const t=this.items;return t&&!this.d_loading?this.isBoth()?t.slice(this.first.rows,this.last.rows).map((t=>this.columns?t:t.slice(this.first.cols,this.last.cols))):this.isHorizontal()&&this.columns?t:t.slice(this.first,this.last):[]},loadedRows(){return this.d_loading?this.loaderDisabled?this.loaderArr:[]:this.loadedItems},loadedColumns(){if(this.columns){const t=this.isBoth(),s=this.isHorizontal();if(t||s)return this.d_loading&&this.loaderDisabled?t?this.loaderArr[0]:this.loaderArr:this.columns.slice(t?this.first.cols:this.first,t?this.last.cols:this.last)}return this.columns}}};const e={key:1,class:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"};return function(t,s){void 0===s&&(s={});var e=s.insertAt;if(t&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===e&&i.firstChild?i.insertBefore(o,i.firstChild):i.appendChild(o),o.styleSheet?o.styleSheet.cssText=t:o.appendChild(document.createTextNode(t))}}("\n.p-virtualscroller {\n position: relative;\n overflow: auto;\n contain: strict;\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n will-change: scroll-position;\n outline: 0 none;\n}\n.p-virtualscroller-content {\n position: absolute;\n top: 0;\n left: 0;\n contain: content;\n min-height: 100%;\n min-width: 100%;\n will-change: transform;\n}\n.p-virtualscroller-spacer {\n position: absolute;\n top: 0;\n left: 0;\n height: 1px;\n width: 1px;\n -webkit-transform-origin: 0 0;\n transform-origin: 0 0;\n pointer-events: none;\n}\n.p-virtualscroller .p-virtualscroller-loader {\n position: sticky;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.p-virtualscroller-loader.p-component-overlay {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n"),s.render=function(s,i,o,l,n,r){return o.disabled?(t.openBlock(),t.createBlock(t.Fragment,{key:1},[t.renderSlot(s.$slots,"default"),t.renderSlot(s.$slots,"content",{items:o.items,rows:o.items,columns:r.loadedColumns})],64)):(t.openBlock(),t.createBlock("div",{key:0,ref:r.elementRef,class:r.containerClass,tabindex:0,style:o.style,onScroll:i[1]||(i[1]=(...t)=>r.onScroll&&r.onScroll(...t))},[t.renderSlot(s.$slots,"content",{styleClass:r.contentClass,items:r.loadedItems,getItemOptions:r.getOptions,loading:n.d_loading,getLoaderOptions:r.getLoaderOptions,itemSize:o.itemSize,rows:r.loadedRows,columns:r.loadedColumns,contentRef:r.contentRef,spacerStyle:n.spacerStyle,contentStyle:n.contentStyle,vertical:r.isVertical(),horizontal:r.isHorizontal(),both:r.isBoth()},(()=>[t.createVNode("div",{ref:r.contentRef,class:r.contentClass,style:n.contentStyle},[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(r.loadedItems,((e,i)=>t.renderSlot(s.$slots,"item",{key:i,item:e,options:r.getOptions(i)}))),128))],6)])),o.showSpacer?(t.openBlock(),t.createBlock("div",{key:0,class:"p-virtualscroller-spacer",style:n.spacerStyle},null,4)):t.createCommentVNode("",!0),!o.loaderDisabled&&o.showLoader&&n.d_loading?(t.openBlock(),t.createBlock("div",{key:1,class:r.loaderClass},[s.$slots&&s.$slots.loader?(t.openBlock(!0),t.createBlock(t.Fragment,{key:0},t.renderList(n.loaderArr,((e,i)=>t.renderSlot(s.$slots,"loader",{key:i,options:r.getLoaderOptions(i,r.isBoth()&&{numCols:s.d_numItemsInViewport.cols})}))),128)):(t.openBlock(),t.createBlock("i",e))],2)):t.createCommentVNode("",!0)],38))},s}(Vue);
1
+ this.primevue=this.primevue||{},this.primevue.virtualscroller=function(t){"use strict";var s={name:"VirtualScroller",emits:["update:numToleratedItems","scroll","scroll-index-change","lazy-load"],props:{id:{type:String,default:null},style:null,class:null,items:{type:Array,default:null},itemSize:{type:[Number,Array],default:0},scrollHeight:null,scrollWidth:null,orientation:{type:String,default:"vertical"},numToleratedItems:{type:Number,default:null},delay:{type:Number,default:0},lazy:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loaderDisabled:{type:Boolean,default:!1},columns:{type:Array,default:null},loading:{type:Boolean,default:!1},showSpacer:{type:Boolean,default:!0},showLoader:{type:Boolean,default:!1}},data(){return{first:this.isBoth()?{rows:0,cols:0}:0,last:this.isBoth()?{rows:0,cols:0}:0,numItemsInViewport:this.isBoth()?{rows:0,cols:0}:0,lastScrollPos:this.isBoth()?{top:0,left:0}:0,d_numToleratedItems:this.numToleratedItems,d_loading:this.loading,loaderArr:[],spacerStyle:{},contentStyle:{}}},element:null,content:null,lastScrollPos:null,scrollTimeout:null,mounted(){this.init(),this.lastScrollPos=this.isBoth()?{top:0,left:0}:0},watch:{numToleratedItems(t){this.d_numToleratedItems=t},loading(t){this.d_loading=t},items(t,s){s&&s.length===(t||[]).length||this.init()},orientation(){this.lastScrollPos=this.isBoth()?{top:0,left:0}:0}},methods:{init(){this.setSize(),this.calculateOptions(),this.setSpacerSize()},isVertical(){return"vertical"===this.orientation},isHorizontal(){return"horizontal"===this.orientation},isBoth(){return"both"===this.orientation},scrollTo(t){this.element&&this.element.scrollTo(t)},scrollToIndex(t,s="auto"){const e=this.isBoth(),i=this.isHorizontal(),o=this.first,{numToleratedItems:l}=this.calculateNumItems(),n=this.itemSize,r=this.getContentPosition(),a=(t=0,s)=>t<=s?0:t,h=(t,s,e)=>t*s+e,c=(t=0,e=0)=>this.scrollTo({left:t,top:e,behavior:s});if(e){const s={rows:a(t[0],l[0]),cols:a(t[1],l[1])};s.rows===o.rows&&s.cols===o.cols||(c(h(s.cols,n[1],r.left),h(s.rows,n[0],r.top)),this.first=s)}else{const s=a(t,l);s!==o&&(i?c(h(s,n,r.left),0):c(0,h(s,n,r.top)),this.first=s)}},scrollInView(t,s,e="auto"){if(s){const i=this.isBoth(),o=this.isHorizontal(),{first:l,viewport:n}=this.getRenderedRange(),r=(t=0,s=0)=>this.scrollTo({left:t,top:s,behavior:e}),a="to-end"===s;if("to-start"===s){if(i)n.first.rows-l.rows>t[0]?r(n.first.cols*this.itemSize[1],(n.first.rows-1)*this.itemSize[0]):n.first.cols-l.cols>t[1]&&r((n.first.cols-1)*this.itemSize[1],n.first.rows*this.itemSize[0]);else if(n.first-l>t){const t=(n.first-1)*this.itemSize;o?r(t,0):r(0,t)}}else if(a)if(i)n.last.rows-l.rows<=t[0]+1?r(n.first.cols*this.itemSize[1],(n.first.rows+1)*this.itemSize[0]):n.last.cols-l.cols<=t[1]+1&&r((n.first.cols+1)*this.itemSize[1],n.first.rows*this.itemSize[0]);else if(n.last-l<=t+1){const t=(n.first+1)*this.itemSize;o?r(t,0):r(0,t)}}else this.scrollToIndex(t,e)},getRenderedRange(){const t=(t,s)=>Math.floor(t/(s||t));let s=this.first,e=0;if(this.element){const i=this.isBoth(),o=this.isHorizontal(),l=this.element.scrollTop,n=this.element.scrollLeft;if(i)s={rows:t(l,this.itemSize[0]),cols:t(n,this.itemSize[1])},e={rows:s.rows+this.numItemsInViewport.rows,cols:s.cols+this.numItemsInViewport.cols};else{s=t(o?n:l,this.itemSize),e=s+this.numItemsInViewport}}return{first:this.first,last:this.last,viewport:{first:s,last:e}}},calculateNumItems(){const t=this.isBoth(),s=this.isHorizontal(),e=this.itemSize,i=this.getContentPosition(),o=this.element?this.element.offsetWidth-i.left:0,l=this.element?this.element.offsetHeight-i.top:0,n=(t,s)=>Math.ceil(t/(s||t)),r=t=>Math.ceil(t/2),a=t?{rows:n(l,e[0]),cols:n(o,e[1])}:n(s?o:l,e);return{numItemsInViewport:a,numToleratedItems:this.d_numToleratedItems||(t?[r(a.rows),r(a.cols)]:r(a))}},calculateOptions(){const t=this.isBoth(),s=this.first,{numItemsInViewport:e,numToleratedItems:i}=this.calculateNumItems(),o=(t,s,e,i)=>this.getLast(t+s+(t<e?2:3)*e,i),l=t?{rows:o(s.rows,e.rows,i[0]),cols:o(s.cols,e.cols,i[1],!0)}:o(s,e,i);this.last=l,this.numItemsInViewport=e,this.d_numToleratedItems=i,this.$emit("update:numToleratedItems",this.d_numToleratedItems),this.showLoader&&(this.loaderArr=t?Array.from({length:e.rows}).map((()=>Array.from({length:e.cols}))):Array.from({length:e})),this.lazy&&this.$emit("lazy-load",{first:s,last:l})},getLast(t=0,s){return this.items?Math.min(s?(this.columns||this.items[0]).length:this.items.length,t):0},getContentPosition(){if(this.content){const t=getComputedStyle(this.content),s=parseInt(t.paddingLeft,10)+Math.max(parseInt(t.left,10),0),e=parseInt(t.paddingRight,10)+Math.max(parseInt(t.right,10),0),i=parseInt(t.paddingTop,10)+Math.max(parseInt(t.top,10),0),o=parseInt(t.paddingBottom,10)+Math.max(parseInt(t.bottom,10),0);return{left:s,right:e,top:i,bottom:o,x:s+e,y:i+o}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},setSize(){if(this.element){const t=this.isBoth(),s=this.isHorizontal(),e=this.element.parentElement,i=this.scrollWidth||`${this.element.offsetWidth||e.offsetWidth}px`,o=this.scrollHeight||`${this.element.offsetHeight||e.offsetHeight}px`,l=(t,s)=>this.element.style[t]=s;t||s?(l("height",o),l("width",i)):l("height",o)}},setSpacerSize(){const t=this.items;if(t){const s=this.isBoth(),e=this.isHorizontal(),i=this.getContentPosition(),o=(t,s,e,i=0)=>this.spacerStyle={...this.spacerStyle,[`${t}`]:(s||[]).length*e+i+"px"};s?(o("height",t,this.itemSize[0],i.y),o("width",this.columns||t[1],this.itemSize[1],i.x)):e?o("width",this.columns||t,this.itemSize,i.x):o("height",t,this.itemSize,i.y)}},setContentPosition(t){if(this.content){const s=this.isBoth(),e=this.isHorizontal(),i=t?t.first:this.first,o=(t,s)=>t*s,l=(t=0,s=0)=>{this.contentStyle={...this.contentStyle,transform:`translate3d(${t}px, ${s}px, 0)`}};if(s)l(o(i.cols,this.itemSize[1]),o(i.rows,this.itemSize[0]));else{const t=o(i,this.itemSize);e?l(t,0):l(0,t)}}},onScrollPositionChange(t){const s=t.target,e=this.isBoth(),i=this.isHorizontal(),o=this.getContentPosition(),l=(t,s)=>t?t>s?t-s:t:0,n=(t,s)=>Math.floor(t/(s||t)),r=(t,s,e,i,o,l)=>t<=o?o:l?e-i-o:s+o-1,a=(t,s,e,i,o,l,n)=>t<=l?0:Math.max(0,n?t<s?e:t-l:t>s?e:t-2*l),h=(t,s,e,i,o,l)=>{let n=s+i+2*o;return t>=o&&(n+=o+1),this.getLast(n,l)},c=l(s.scrollTop,o.top),m=l(s.scrollLeft,o.left);let d=0,u=this.last,p=!1;if(e){const t=this.lastScrollPos.top<=c,s=this.lastScrollPos.left<=m,e={rows:n(c,this.itemSize[0]),cols:n(m,this.itemSize[1])},i={rows:r(e.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],t),cols:r(e.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],s)};d={rows:a(e.rows,i.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],t),cols:a(e.cols,i.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],s)},u={rows:h(e.rows,d.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0]),cols:h(e.cols,d.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],!0)},p=d.rows!==this.first.rows&&u.rows!==this.last.rows||d.cols!==this.first.cols&&u.cols!==this.last.cols,this.lastScrollPos={top:c,left:m}}else{const t=i?m:c,s=this.lastScrollPos<=t,e=n(t,this.itemSize);d=a(e,r(e,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,s),this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,s),u=h(e,d,this.last,this.numItemsInViewport,this.d_numToleratedItems),p=d!==this.first&&u!==this.last,this.lastScrollPos=t}return{first:d,last:u,isRangeChanged:p}},onScrollChange(t){const{first:s,last:e,isRangeChanged:i}=this.onScrollPositionChange(t);if(i){const t={first:s,last:e};this.setContentPosition(t),this.first=s,this.last=e,this.$emit("scroll-index-change",t),this.lazy&&this.$emit("lazy-load",t)}},onScroll(t){if(this.$emit("scroll",t),this.delay){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),!this.d_loading&&this.showLoader){const{isRangeChanged:s}=this.onScrollPositionChange(t);s&&(this.d_loading=!0)}this.scrollTimeout=setTimeout((()=>{this.onScrollChange(t),this.d_loading&&this.showLoader&&!this.lazy&&(this.d_loading=!1)}),this.delay)}else this.onScrollChange(t)},getOptions(t){const s=(this.items||[]).length,e=this.isBoth()?this.first.rows+t:this.first+t;return{index:e,count:s,first:0===e,last:e===s-1,even:e%2==0,odd:e%2!=0}},getLoaderOptions(t,s){let e=this.loaderArr.length;return{index:t,count:e,first:0===t,last:t===e-1,even:t%2==0,odd:t%2!=0,...s}},elementRef(t){this.element=t},contentRef(t){this.content=t}},computed:{containerClass(){return["p-virtualscroller",{"p-both-scroll":this.isBoth(),"p-horizontal-scroll":this.isHorizontal()},this.class]},contentClass(){return["p-virtualscroller-content",{"p-virtualscroller-loading":this.d_loading}]},loaderClass(){return["p-virtualscroller-loader",{"p-component-overlay":!this.$slots.loader}]},loadedItems(){const t=this.items;return t&&!this.d_loading?this.isBoth()?t.slice(this.first.rows,this.last.rows).map((t=>this.columns?t:t.slice(this.first.cols,this.last.cols))):this.isHorizontal()&&this.columns?t:t.slice(this.first,this.last):[]},loadedRows(){return this.d_loading?this.loaderDisabled?this.loaderArr:[]:this.loadedItems},loadedColumns(){if(this.columns){const t=this.isBoth(),s=this.isHorizontal();if(t||s)return this.d_loading&&this.loaderDisabled?t?this.loaderArr[0]:this.loaderArr:this.columns.slice(t?this.first.cols:this.first,t?this.last.cols:this.last)}return this.columns}}};const e={key:1,class:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"};return function(t,s){void 0===s&&(s={});var e=s.insertAt;if(t&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===e&&i.firstChild?i.insertBefore(o,i.firstChild):i.appendChild(o),o.styleSheet?o.styleSheet.cssText=t:o.appendChild(document.createTextNode(t))}}("\n.p-virtualscroller {\n position: relative;\n overflow: auto;\n contain: strict;\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n will-change: scroll-position;\n outline: 0 none;\n}\n.p-virtualscroller-content {\n position: absolute;\n top: 0;\n left: 0;\n contain: content;\n min-height: 100%;\n min-width: 100%;\n will-change: transform;\n}\n.p-virtualscroller-spacer {\n position: absolute;\n top: 0;\n left: 0;\n height: 1px;\n width: 1px;\n -webkit-transform-origin: 0 0;\n transform-origin: 0 0;\n pointer-events: none;\n}\n.p-virtualscroller .p-virtualscroller-loader {\n position: sticky;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.p-virtualscroller-loader.p-component-overlay {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n"),s.render=function(s,i,o,l,n,r){return o.disabled?(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.renderSlot(s.$slots,"default"),t.renderSlot(s.$slots,"content",{items:o.items,rows:o.items,columns:r.loadedColumns})],64)):(t.openBlock(),t.createElementBlock("div",{key:0,ref:r.elementRef,class:t.normalizeClass(r.containerClass),tabindex:0,style:t.normalizeStyle(o.style),onScroll:i[0]||(i[0]=(...t)=>r.onScroll&&r.onScroll(...t))},[t.renderSlot(s.$slots,"content",{styleClass:r.contentClass,items:r.loadedItems,getItemOptions:r.getOptions,loading:n.d_loading,getLoaderOptions:r.getLoaderOptions,itemSize:o.itemSize,rows:r.loadedRows,columns:r.loadedColumns,contentRef:r.contentRef,spacerStyle:n.spacerStyle,contentStyle:n.contentStyle,vertical:r.isVertical(),horizontal:r.isHorizontal(),both:r.isBoth()},(()=>[t.createElementVNode("div",{ref:r.contentRef,class:t.normalizeClass(r.contentClass),style:t.normalizeStyle(n.contentStyle)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.loadedItems,((e,i)=>t.renderSlot(s.$slots,"item",{key:i,item:e,options:r.getOptions(i)}))),128))],6)])),o.showSpacer?(t.openBlock(),t.createElementBlock("div",{key:0,class:"p-virtualscroller-spacer",style:t.normalizeStyle(n.spacerStyle)},null,4)):t.createCommentVNode("",!0),!o.loaderDisabled&&o.showLoader&&n.d_loading?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(r.loaderClass)},[s.$slots&&s.$slots.loader?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(n.loaderArr,((e,i)=>t.renderSlot(s.$slots,"loader",{key:i,options:r.getLoaderOptions(i,r.isBoth()&&{numCols:s.d_numItemsInViewport.cols})}))),128)):(t.openBlock(),t.createElementBlock("i",e))],2)):t.createCommentVNode("",!0)],38))},s}(Vue);
package/web-types.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
3
3
  "framework": "vue",
4
4
  "name": "PrimeVue",
5
- "version": "3.12.3",
5
+ "version": "3.12.6",
6
6
  "contributions": {
7
7
  "html": {
8
8
  "types-syntax": "typescript",
@@ -6074,6 +6074,36 @@
6074
6074
  "type": "boolean"
6075
6075
  }
6076
6076
  },
6077
+ {
6078
+ "name": "chooseIcon",
6079
+ "default": "pi pi-plus",
6080
+ "doc-url": "https://primefaces.org/primevue/showcase/#/fileupload",
6081
+ "description": "Icon of the choose button.",
6082
+ "value": {
6083
+ "kind": "expression",
6084
+ "type": "string"
6085
+ }
6086
+ },
6087
+ {
6088
+ "name": "uploadIcon",
6089
+ "default": "pi pi-upload",
6090
+ "doc-url": "https://primefaces.org/primevue/showcase/#/fileupload",
6091
+ "description": "Icon of the upload button.",
6092
+ "value": {
6093
+ "kind": "expression",
6094
+ "type": "string"
6095
+ }
6096
+ },
6097
+ {
6098
+ "name": "cancelIcon",
6099
+ "default": "pi pi-times",
6100
+ "doc-url": "https://primefaces.org/primevue/showcase/#/fileupload",
6101
+ "description": "Icon of the cancel button.",
6102
+ "value": {
6103
+ "kind": "expression",
6104
+ "type": "string"
6105
+ }
6106
+ },
6077
6107
  {
6078
6108
  "name": "style",
6079
6109
  "default": "null",
@@ -7002,6 +7032,16 @@
7002
7032
  "type": "boolean"
7003
7033
  }
7004
7034
  },
7035
+ {
7036
+ "name": "readonly",
7037
+ "default": "false",
7038
+ "doc-url": "https://primefaces.org/primevue/showcase/#/inputnumber",
7039
+ "description": "When present, it specifies that an input field is read-only.",
7040
+ "value": {
7041
+ "kind": "expression",
7042
+ "type": "boolean"
7043
+ }
7044
+ },
7005
7045
  {
7006
7046
  "name": "inputStyle",
7007
7047
  "default": "null",
@@ -9142,7 +9182,7 @@
9142
9182
  "description": "Style class of the input field.",
9143
9183
  "value": {
9144
9184
  "kind": "expression",
9145
- "type": "string"
9185
+ "type": "any"
9146
9186
  }
9147
9187
  },
9148
9188
  {
@@ -10037,6 +10077,13 @@
10037
10077
  "doc-url": "https://primefaces.org/primevue/showcase/#/sidebar",
10038
10078
  "description": "Callback to invoke when sidebar gets shown."
10039
10079
  }
10080
+ ],
10081
+ "slots": [
10082
+ {
10083
+ "name": "header",
10084
+ "doc-url": "https://primefaces.org/primevue/showcase/#/sidebar",
10085
+ "description": "Custom content for the component header."
10086
+ }
10040
10087
  ]
10041
10088
  },
10042
10089
  {
@@ -11134,7 +11181,7 @@
11134
11181
  "name": "align",
11135
11182
  "default": "left",
11136
11183
  "doc-url": "https://primefaces.org/primevue/showcase/#/timeline",
11137
- "description": "Position of the timeline bar relative to the content. Valid values are \"left\", \"right\" for vertical layout and \"top\", \"bottom\" for horizontal layout.",
11184
+ "description": "Position of the timeline bar relative to the content. Valid values are \"left\", \"right\" and \"alternate\" for vertical layout and \"top\", \"bottom\" for horizontal layout.",
11138
11185
  "value": {
11139
11186
  "kind": "expression",
11140
11187
  "type": "string"