primevue 3.7.2 → 3.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (504) hide show
  1. package/README.md +2 -2
  2. package/accordion/Accordion.vue +1 -1
  3. package/accordion/accordion.cjs.js +1 -1
  4. package/accordion/accordion.cjs.min.js +1 -1
  5. package/accordion/accordion.esm.js +1 -1
  6. package/accordion/accordion.esm.min.js +1 -1
  7. package/accordion/accordion.js +1 -1
  8. package/accordion/accordion.min.js +1 -1
  9. package/api/Api.d.ts +73 -32
  10. package/api/api.cjs.js +66 -32
  11. package/api/api.cjs.min.js +1 -1
  12. package/api/api.esm.js +66 -32
  13. package/api/api.esm.min.js +1 -1
  14. package/api/api.js +66 -32
  15. package/api/api.min.js +1 -1
  16. package/autocomplete/AutoComplete.d.ts +43 -9
  17. package/autocomplete/AutoComplete.vue +16 -9
  18. package/autocomplete/autocomplete.cjs.js +19 -11
  19. package/autocomplete/autocomplete.cjs.min.js +1 -1
  20. package/autocomplete/autocomplete.esm.js +19 -11
  21. package/autocomplete/autocomplete.esm.min.js +1 -1
  22. package/autocomplete/autocomplete.js +19 -11
  23. package/autocomplete/autocomplete.min.js +1 -1
  24. package/blockui/BlockUI.vue +1 -1
  25. package/blockui/blockui.cjs.js +5 -7
  26. package/blockui/blockui.cjs.min.js +1 -1
  27. package/blockui/blockui.esm.js +6 -8
  28. package/blockui/blockui.esm.min.js +1 -1
  29. package/blockui/blockui.js +5 -7
  30. package/blockui/blockui.min.js +1 -1
  31. package/breadcrumb/Breadcrumb.d.ts +7 -0
  32. package/breadcrumb/Breadcrumb.vue +4 -0
  33. package/breadcrumb/BreadcrumbItem.vue +5 -2
  34. package/breadcrumb/breadcrumb.cjs.js +6 -3
  35. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  36. package/breadcrumb/breadcrumb.esm.js +6 -3
  37. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  38. package/breadcrumb/breadcrumb.js +6 -3
  39. package/breadcrumb/breadcrumb.min.js +1 -1
  40. package/calendar/Calendar.d.ts +11 -1
  41. package/calendar/Calendar.vue +362 -67
  42. package/calendar/calendar.cjs.js +459 -168
  43. package/calendar/calendar.cjs.min.js +1 -1
  44. package/calendar/calendar.esm.js +461 -170
  45. package/calendar/calendar.esm.min.js +1 -1
  46. package/calendar/calendar.js +459 -168
  47. package/calendar/calendar.min.js +1 -1
  48. package/carousel/Carousel.d.ts +6 -1
  49. package/carousel/Carousel.vue +2 -2
  50. package/carousel/carousel.cjs.js +6 -6
  51. package/carousel/carousel.cjs.min.js +1 -1
  52. package/carousel/carousel.esm.js +6 -6
  53. package/carousel/carousel.esm.min.js +1 -1
  54. package/carousel/carousel.js +6 -6
  55. package/carousel/carousel.min.js +1 -1
  56. package/cascadeselect/CascadeSelect.d.ts +19 -6
  57. package/chart/Chart.vue +9 -2
  58. package/chart/chart.cjs.js +9 -2
  59. package/chart/chart.cjs.min.js +1 -1
  60. package/chart/chart.esm.js +9 -2
  61. package/chart/chart.esm.min.js +1 -1
  62. package/chart/chart.js +9 -2
  63. package/chart/chart.min.js +1 -1
  64. package/chips/Chips.d.ts +5 -1
  65. package/colorpicker/ColorPicker.d.ts +3 -0
  66. package/colorpicker/ColorPicker.vue +6 -1
  67. package/colorpicker/colorpicker.cjs.js +6 -1
  68. package/colorpicker/colorpicker.cjs.min.js +1 -1
  69. package/colorpicker/colorpicker.esm.js +6 -1
  70. package/colorpicker/colorpicker.esm.min.js +1 -1
  71. package/colorpicker/colorpicker.js +6 -1
  72. package/colorpicker/colorpicker.min.js +1 -1
  73. package/column/Column.d.ts +42 -11
  74. package/confirmationservice/ConfirmationService.d.ts +3 -2
  75. package/confirmdialog/ConfirmDialog.vue +8 -2
  76. package/confirmdialog/confirmdialog.cjs.js +11 -4
  77. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  78. package/confirmdialog/confirmdialog.esm.js +11 -4
  79. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  80. package/confirmdialog/confirmdialog.js +11 -4
  81. package/confirmdialog/confirmdialog.min.js +1 -1
  82. package/confirmpopup/ConfirmPopup.d.ts +7 -0
  83. package/confirmpopup/ConfirmPopup.vue +7 -4
  84. package/confirmpopup/confirmpopup.cjs.js +13 -5
  85. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  86. package/confirmpopup/confirmpopup.esm.js +14 -6
  87. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  88. package/confirmpopup/confirmpopup.js +13 -5
  89. package/confirmpopup/confirmpopup.min.js +1 -1
  90. package/contextmenu/ContextMenu.d.ts +5 -1
  91. package/contextmenu/ContextMenuSub.vue +8 -5
  92. package/contextmenu/contextmenu.cjs.js +8 -5
  93. package/contextmenu/contextmenu.cjs.min.js +1 -1
  94. package/contextmenu/contextmenu.esm.js +8 -5
  95. package/contextmenu/contextmenu.esm.min.js +1 -1
  96. package/contextmenu/contextmenu.js +8 -5
  97. package/contextmenu/contextmenu.min.js +1 -1
  98. package/core/core.js +7644 -0
  99. package/core/core.min.js +47 -0
  100. package/datatable/BodyCell.vue +37 -17
  101. package/datatable/ColumnFilter.vue +17 -6
  102. package/datatable/DataTable.d.ts +37 -9
  103. package/datatable/DataTable.vue +90 -48
  104. package/datatable/FooterCell.vue +2 -2
  105. package/datatable/HeaderCell.vue +2 -2
  106. package/datatable/TableBody.vue +15 -6
  107. package/datatable/TableFooter.vue +17 -2
  108. package/datatable/TableHeader.vue +17 -2
  109. package/datatable/datatable.cjs.js +321 -197
  110. package/datatable/datatable.cjs.min.js +1 -1
  111. package/datatable/datatable.esm.js +321 -197
  112. package/datatable/datatable.esm.min.js +1 -1
  113. package/datatable/datatable.js +321 -197
  114. package/datatable/datatable.min.js +1 -1
  115. package/dataview/DataView.d.ts +9 -4
  116. package/dataview/DataView.vue +8 -8
  117. package/dataview/dataview.cjs.js +12 -12
  118. package/dataview/dataview.cjs.min.js +1 -1
  119. package/dataview/dataview.esm.js +12 -12
  120. package/dataview/dataview.esm.min.js +1 -1
  121. package/dataview/dataview.js +12 -12
  122. package/dataview/dataview.min.js +1 -1
  123. package/dialog/Dialog.vue +6 -1
  124. package/dialog/dialog.cjs.js +4 -2
  125. package/dialog/dialog.cjs.min.js +1 -1
  126. package/dialog/dialog.esm.js +4 -2
  127. package/dialog/dialog.esm.min.js +1 -1
  128. package/dialog/dialog.js +4 -2
  129. package/dialog/dialog.min.js +1 -1
  130. package/dock/Dock.d.ts +10 -1
  131. package/dock/Dock.vue +1 -1
  132. package/dock/DockSub.vue +13 -8
  133. package/dock/dock.cjs.js +24 -10
  134. package/dock/dock.cjs.min.js +1 -1
  135. package/dock/dock.esm.js +20 -10
  136. package/dock/dock.esm.min.js +1 -1
  137. package/dock/dock.js +25 -12
  138. package/dock/dock.min.js +1 -1
  139. package/dropdown/Dropdown.d.ts +56 -13
  140. package/dropdown/Dropdown.vue +1 -0
  141. package/dropdown/dropdown.cjs.js +1 -0
  142. package/dropdown/dropdown.cjs.min.js +1 -1
  143. package/dropdown/dropdown.esm.js +1 -0
  144. package/dropdown/dropdown.esm.min.js +1 -1
  145. package/dropdown/dropdown.js +1 -0
  146. package/dropdown/dropdown.min.js +1 -1
  147. package/fileupload/FileUpload.d.ts +5 -0
  148. package/galleria/Galleria.d.ts +20 -4
  149. package/inplace/Inplace.d.ts +1 -0
  150. package/inplace/Inplace.vue +12 -1
  151. package/inplace/inplace.cjs.js +13 -2
  152. package/inplace/inplace.cjs.min.js +1 -1
  153. package/inplace/inplace.esm.js +13 -2
  154. package/inplace/inplace.esm.min.js +1 -1
  155. package/inplace/inplace.js +13 -2
  156. package/inplace/inplace.min.js +1 -1
  157. package/inputnumber/InputNumber.d.ts +1 -1
  158. package/inputnumber/InputNumber.vue +19 -3
  159. package/inputnumber/inputnumber.cjs.js +19 -3
  160. package/inputnumber/inputnumber.cjs.min.js +1 -1
  161. package/inputnumber/inputnumber.esm.js +19 -3
  162. package/inputnumber/inputnumber.esm.min.js +1 -1
  163. package/inputnumber/inputnumber.js +19 -3
  164. package/inputnumber/inputnumber.min.js +1 -1
  165. package/inputswitch/InputSwitch.vue +6 -3
  166. package/inputswitch/inputswitch.cjs.js +6 -3
  167. package/inputswitch/inputswitch.cjs.min.js +1 -1
  168. package/inputswitch/inputswitch.esm.js +6 -3
  169. package/inputswitch/inputswitch.esm.min.js +1 -1
  170. package/inputswitch/inputswitch.js +6 -3
  171. package/inputswitch/inputswitch.min.js +1 -1
  172. package/inputtext/InputText.d.ts +1 -1
  173. package/inputtext/InputText.vue +1 -1
  174. package/inputtext/inputtext.cjs.js +2 -2
  175. package/inputtext/inputtext.cjs.min.js +1 -1
  176. package/inputtext/inputtext.esm.js +3 -3
  177. package/inputtext/inputtext.esm.min.js +1 -1
  178. package/inputtext/inputtext.js +2 -2
  179. package/inputtext/inputtext.min.js +1 -1
  180. package/listbox/Listbox.d.ts +48 -12
  181. package/megamenu/MegaMenu.d.ts +5 -1
  182. package/megamenu/MegaMenu.vue +11 -8
  183. package/megamenu/megamenu.cjs.js +11 -8
  184. package/megamenu/megamenu.cjs.min.js +1 -1
  185. package/megamenu/megamenu.esm.js +11 -8
  186. package/megamenu/megamenu.esm.min.js +1 -1
  187. package/megamenu/megamenu.js +11 -8
  188. package/megamenu/megamenu.min.js +1 -1
  189. package/menu/Menu.d.ts +5 -1
  190. package/menu/Menu.vue +6 -3
  191. package/menu/Menuitem.vue +5 -2
  192. package/menu/menu.cjs.js +11 -5
  193. package/menu/menu.cjs.min.js +1 -1
  194. package/menu/menu.esm.js +11 -5
  195. package/menu/menu.esm.min.js +1 -1
  196. package/menu/menu.js +11 -5
  197. package/menu/menu.min.js +1 -1
  198. package/menubar/Menubar.d.ts +5 -1
  199. package/menubar/MenubarSub.vue +8 -5
  200. package/menubar/menubar.cjs.js +8 -5
  201. package/menubar/menubar.cjs.min.js +1 -1
  202. package/menubar/menubar.esm.js +8 -5
  203. package/menubar/menubar.esm.min.js +1 -1
  204. package/menubar/menubar.js +8 -5
  205. package/menubar/menubar.min.js +1 -1
  206. package/message/Message.d.ts +1 -0
  207. package/message/Message.vue +6 -2
  208. package/message/message.cjs.js +6 -2
  209. package/message/message.cjs.min.js +1 -1
  210. package/message/message.esm.js +6 -2
  211. package/message/message.esm.min.js +1 -1
  212. package/message/message.js +6 -2
  213. package/message/message.min.js +1 -1
  214. package/multiselect/MultiSelect.d.ts +61 -14
  215. package/orderlist/OrderList.d.ts +8 -1
  216. package/orderlist/OrderList.vue +2 -0
  217. package/orderlist/orderlist.cjs.js +3 -1
  218. package/orderlist/orderlist.cjs.min.js +1 -1
  219. package/orderlist/orderlist.esm.js +3 -1
  220. package/orderlist/orderlist.esm.min.js +1 -1
  221. package/orderlist/orderlist.js +3 -1
  222. package/orderlist/orderlist.min.js +1 -1
  223. package/overlaypanel/OverlayPanel.vue +1 -0
  224. package/overlaypanel/overlaypanel.cjs.js +1 -0
  225. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  226. package/overlaypanel/overlaypanel.esm.js +1 -0
  227. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  228. package/overlaypanel/overlaypanel.js +1 -0
  229. package/overlaypanel/overlaypanel.min.js +1 -1
  230. package/package.json +5 -1
  231. package/paginator/CurrentPageReport.vue +5 -1
  232. package/paginator/JumpToPageInput.vue +1 -1
  233. package/paginator/Paginator.d.ts +10 -4
  234. package/paginator/Paginator.vue +10 -7
  235. package/paginator/paginator.cjs.js +16 -8
  236. package/paginator/paginator.cjs.min.js +1 -1
  237. package/paginator/paginator.esm.js +16 -8
  238. package/paginator/paginator.esm.min.js +1 -1
  239. package/paginator/paginator.js +16 -8
  240. package/paginator/paginator.min.js +1 -1
  241. package/panel/Panel.d.ts +1 -0
  242. package/panel/Panel.vue +1 -1
  243. package/panelmenu/PanelMenu.d.ts +5 -3
  244. package/panelmenu/PanelMenu.vue +6 -3
  245. package/panelmenu/PanelMenuSub.vue +8 -5
  246. package/panelmenu/panelmenu.cjs.js +14 -8
  247. package/panelmenu/panelmenu.cjs.min.js +1 -1
  248. package/panelmenu/panelmenu.esm.js +14 -8
  249. package/panelmenu/panelmenu.esm.min.js +1 -1
  250. package/panelmenu/panelmenu.js +14 -8
  251. package/panelmenu/panelmenu.min.js +1 -1
  252. package/picklist/PickList.d.ts +14 -3
  253. package/picklist/PickList.vue +10 -4
  254. package/picklist/picklist.cjs.js +13 -7
  255. package/picklist/picklist.cjs.min.js +1 -1
  256. package/picklist/picklist.esm.js +13 -7
  257. package/picklist/picklist.esm.min.js +1 -1
  258. package/picklist/picklist.js +13 -7
  259. package/picklist/picklist.min.js +1 -1
  260. package/progressbar/ProgressBar.vue +13 -12
  261. package/progressbar/progressbar.cjs.js +13 -12
  262. package/progressbar/progressbar.cjs.min.js +1 -1
  263. package/progressbar/progressbar.esm.js +14 -13
  264. package/progressbar/progressbar.esm.min.js +1 -1
  265. package/progressbar/progressbar.js +13 -12
  266. package/progressbar/progressbar.min.js +1 -1
  267. package/rating/Rating.vue +1 -1
  268. package/rating/rating.cjs.js +1 -1
  269. package/rating/rating.cjs.min.js +1 -1
  270. package/rating/rating.esm.js +1 -1
  271. package/rating/rating.esm.min.js +1 -1
  272. package/rating/rating.js +1 -1
  273. package/rating/rating.min.js +1 -1
  274. package/resources/primevue.css +5 -0
  275. package/resources/primevue.min.css +1 -1
  276. package/resources/themes/arya-blue/theme.css +57 -16
  277. package/resources/themes/arya-green/theme.css +57 -16
  278. package/resources/themes/arya-orange/theme.css +57 -16
  279. package/resources/themes/arya-purple/theme.css +57 -16
  280. package/resources/themes/bootstrap4-dark-blue/theme.css +54 -20
  281. package/resources/themes/bootstrap4-dark-purple/theme.css +54 -20
  282. package/resources/themes/bootstrap4-light-blue/theme.css +54 -20
  283. package/resources/themes/bootstrap4-light-purple/theme.css +54 -20
  284. package/resources/themes/fluent-light/theme.css +57 -16
  285. package/resources/themes/lara-dark-blue/fonts/Inter-Bold.woff +0 -0
  286. package/resources/themes/lara-dark-blue/fonts/Inter-Bold.woff2 +0 -0
  287. package/resources/themes/lara-dark-blue/fonts/Inter-Light.woff +0 -0
  288. package/resources/themes/lara-dark-blue/fonts/Inter-Light.woff2 +0 -0
  289. package/resources/themes/lara-dark-blue/fonts/Inter-Medium.woff +0 -0
  290. package/resources/themes/lara-dark-blue/fonts/Inter-Medium.woff2 +0 -0
  291. package/resources/themes/lara-dark-blue/fonts/Inter-Regular.woff +0 -0
  292. package/resources/themes/lara-dark-blue/fonts/Inter-Regular.woff2 +0 -0
  293. package/resources/themes/lara-dark-blue/fonts/Inter-SemiBold.woff +0 -0
  294. package/resources/themes/lara-dark-blue/fonts/Inter-SemiBold.woff2 +0 -0
  295. package/resources/themes/lara-dark-blue/theme.css +5414 -0
  296. package/resources/themes/lara-dark-indigo/fonts/Inter-Bold.woff +0 -0
  297. package/resources/themes/lara-dark-indigo/fonts/Inter-Bold.woff2 +0 -0
  298. package/resources/themes/lara-dark-indigo/fonts/Inter-Light.woff +0 -0
  299. package/resources/themes/lara-dark-indigo/fonts/Inter-Light.woff2 +0 -0
  300. package/resources/themes/lara-dark-indigo/fonts/Inter-Medium.woff +0 -0
  301. package/resources/themes/lara-dark-indigo/fonts/Inter-Medium.woff2 +0 -0
  302. package/resources/themes/lara-dark-indigo/fonts/Inter-Regular.woff +0 -0
  303. package/resources/themes/lara-dark-indigo/fonts/Inter-Regular.woff2 +0 -0
  304. package/resources/themes/lara-dark-indigo/fonts/Inter-SemiBold.woff +0 -0
  305. package/resources/themes/lara-dark-indigo/fonts/Inter-SemiBold.woff2 +0 -0
  306. package/resources/themes/lara-dark-indigo/theme.css +5414 -0
  307. package/resources/themes/lara-dark-purple/fonts/Inter-Bold.woff +0 -0
  308. package/resources/themes/lara-dark-purple/fonts/Inter-Bold.woff2 +0 -0
  309. package/resources/themes/lara-dark-purple/fonts/Inter-Light.woff +0 -0
  310. package/resources/themes/lara-dark-purple/fonts/Inter-Light.woff2 +0 -0
  311. package/resources/themes/lara-dark-purple/fonts/Inter-Medium.woff +0 -0
  312. package/resources/themes/lara-dark-purple/fonts/Inter-Medium.woff2 +0 -0
  313. package/resources/themes/lara-dark-purple/fonts/Inter-Regular.woff +0 -0
  314. package/resources/themes/lara-dark-purple/fonts/Inter-Regular.woff2 +0 -0
  315. package/resources/themes/lara-dark-purple/fonts/Inter-SemiBold.woff +0 -0
  316. package/resources/themes/lara-dark-purple/fonts/Inter-SemiBold.woff2 +0 -0
  317. package/resources/themes/lara-dark-purple/theme.css +5414 -0
  318. package/resources/themes/lara-dark-teal/fonts/Inter-Bold.woff +0 -0
  319. package/resources/themes/lara-dark-teal/fonts/Inter-Bold.woff2 +0 -0
  320. package/resources/themes/lara-dark-teal/fonts/Inter-Light.woff +0 -0
  321. package/resources/themes/lara-dark-teal/fonts/Inter-Light.woff2 +0 -0
  322. package/resources/themes/lara-dark-teal/fonts/Inter-Medium.woff +0 -0
  323. package/resources/themes/lara-dark-teal/fonts/Inter-Medium.woff2 +0 -0
  324. package/resources/themes/lara-dark-teal/fonts/Inter-Regular.woff +0 -0
  325. package/resources/themes/lara-dark-teal/fonts/Inter-Regular.woff2 +0 -0
  326. package/resources/themes/lara-dark-teal/fonts/Inter-SemiBold.woff +0 -0
  327. package/resources/themes/lara-dark-teal/fonts/Inter-SemiBold.woff2 +0 -0
  328. package/resources/themes/lara-dark-teal/theme.css +5414 -0
  329. package/resources/themes/lara-light-blue/fonts/Inter-Bold.woff +0 -0
  330. package/resources/themes/lara-light-blue/fonts/Inter-Bold.woff2 +0 -0
  331. package/resources/themes/lara-light-blue/fonts/Inter-Light.woff +0 -0
  332. package/resources/themes/lara-light-blue/fonts/Inter-Light.woff2 +0 -0
  333. package/resources/themes/lara-light-blue/fonts/Inter-Medium.woff +0 -0
  334. package/resources/themes/lara-light-blue/fonts/Inter-Medium.woff2 +0 -0
  335. package/resources/themes/lara-light-blue/fonts/Inter-Regular.woff +0 -0
  336. package/resources/themes/lara-light-blue/fonts/Inter-Regular.woff2 +0 -0
  337. package/resources/themes/lara-light-blue/fonts/Inter-SemiBold.woff +0 -0
  338. package/resources/themes/lara-light-blue/fonts/Inter-SemiBold.woff2 +0 -0
  339. package/resources/themes/lara-light-blue/theme.css +5414 -0
  340. package/resources/themes/lara-light-indigo/fonts/Inter-Bold.woff +0 -0
  341. package/resources/themes/lara-light-indigo/fonts/Inter-Bold.woff2 +0 -0
  342. package/resources/themes/lara-light-indigo/fonts/Inter-Light.woff +0 -0
  343. package/resources/themes/lara-light-indigo/fonts/Inter-Light.woff2 +0 -0
  344. package/resources/themes/lara-light-indigo/fonts/Inter-Medium.woff +0 -0
  345. package/resources/themes/lara-light-indigo/fonts/Inter-Medium.woff2 +0 -0
  346. package/resources/themes/lara-light-indigo/fonts/Inter-Regular.woff +0 -0
  347. package/resources/themes/lara-light-indigo/fonts/Inter-Regular.woff2 +0 -0
  348. package/resources/themes/lara-light-indigo/fonts/Inter-SemiBold.woff +0 -0
  349. package/resources/themes/lara-light-indigo/fonts/Inter-SemiBold.woff2 +0 -0
  350. package/resources/themes/lara-light-indigo/theme.css +5414 -0
  351. package/resources/themes/lara-light-purple/fonts/Inter-Bold.woff +0 -0
  352. package/resources/themes/lara-light-purple/fonts/Inter-Bold.woff2 +0 -0
  353. package/resources/themes/lara-light-purple/fonts/Inter-Light.woff +0 -0
  354. package/resources/themes/lara-light-purple/fonts/Inter-Light.woff2 +0 -0
  355. package/resources/themes/lara-light-purple/fonts/Inter-Medium.woff +0 -0
  356. package/resources/themes/lara-light-purple/fonts/Inter-Medium.woff2 +0 -0
  357. package/resources/themes/lara-light-purple/fonts/Inter-Regular.woff +0 -0
  358. package/resources/themes/lara-light-purple/fonts/Inter-Regular.woff2 +0 -0
  359. package/resources/themes/lara-light-purple/fonts/Inter-SemiBold.woff +0 -0
  360. package/resources/themes/lara-light-purple/fonts/Inter-SemiBold.woff2 +0 -0
  361. package/resources/themes/lara-light-purple/theme.css +5414 -0
  362. package/resources/themes/lara-light-teal/fonts/Inter-Bold.woff +0 -0
  363. package/resources/themes/lara-light-teal/fonts/Inter-Bold.woff2 +0 -0
  364. package/resources/themes/lara-light-teal/fonts/Inter-Light.woff +0 -0
  365. package/resources/themes/lara-light-teal/fonts/Inter-Light.woff2 +0 -0
  366. package/resources/themes/lara-light-teal/fonts/Inter-Medium.woff +0 -0
  367. package/resources/themes/lara-light-teal/fonts/Inter-Medium.woff2 +0 -0
  368. package/resources/themes/lara-light-teal/fonts/Inter-Regular.woff +0 -0
  369. package/resources/themes/lara-light-teal/fonts/Inter-Regular.woff2 +0 -0
  370. package/resources/themes/lara-light-teal/fonts/Inter-SemiBold.woff +0 -0
  371. package/resources/themes/lara-light-teal/fonts/Inter-SemiBold.woff2 +0 -0
  372. package/resources/themes/lara-light-teal/theme.css +5414 -0
  373. package/resources/themes/luna-amber/theme.css +54 -20
  374. package/resources/themes/luna-blue/theme.css +54 -20
  375. package/resources/themes/luna-green/theme.css +54 -20
  376. package/resources/themes/luna-pink/theme.css +54 -20
  377. package/resources/themes/md-dark-deeppurple/theme.css +245 -48
  378. package/resources/themes/md-dark-indigo/theme.css +245 -48
  379. package/resources/themes/md-light-deeppurple/theme.css +245 -48
  380. package/resources/themes/md-light-indigo/theme.css +245 -48
  381. package/resources/themes/mdc-dark-deeppurple/theme.css +245 -48
  382. package/resources/themes/mdc-dark-indigo/theme.css +245 -48
  383. package/resources/themes/mdc-light-deeppurple/theme.css +245 -48
  384. package/resources/themes/mdc-light-indigo/theme.css +245 -48
  385. package/resources/themes/nova/theme.css +54 -20
  386. package/resources/themes/nova-accent/theme.css +54 -20
  387. package/resources/themes/nova-alt/theme.css +54 -20
  388. package/resources/themes/nova-vue/theme.css +54 -20
  389. package/resources/themes/rhea/theme.css +54 -20
  390. package/resources/themes/saga-blue/theme.css +57 -16
  391. package/resources/themes/saga-green/theme.css +57 -16
  392. package/resources/themes/saga-orange/theme.css +57 -16
  393. package/resources/themes/saga-purple/theme.css +57 -16
  394. package/resources/themes/tailwind-light/theme.css +68 -19
  395. package/resources/themes/vela-blue/theme.css +57 -16
  396. package/resources/themes/vela-green/theme.css +57 -16
  397. package/resources/themes/vela-orange/theme.css +57 -16
  398. package/resources/themes/vela-purple/theme.css +57 -16
  399. package/selectbutton/SelectButton.d.ts +13 -5
  400. package/selectbutton/SelectButton.vue +8 -2
  401. package/selectbutton/selectbutton.cjs.js +14 -9
  402. package/selectbutton/selectbutton.cjs.min.js +1 -1
  403. package/selectbutton/selectbutton.esm.js +14 -9
  404. package/selectbutton/selectbutton.esm.min.js +1 -1
  405. package/selectbutton/selectbutton.js +14 -9
  406. package/selectbutton/selectbutton.min.js +1 -1
  407. package/speeddial/SpeedDial.d.ts +5 -1
  408. package/speeddial/SpeedDial.vue +2 -1
  409. package/speeddial/speeddial.cjs.js +2 -1
  410. package/speeddial/speeddial.cjs.min.js +1 -1
  411. package/speeddial/speeddial.esm.js +2 -1
  412. package/speeddial/speeddial.esm.min.js +1 -1
  413. package/speeddial/speeddial.js +2 -1
  414. package/speeddial/speeddial.min.js +1 -1
  415. package/splitter/Splitter.vue +5 -3
  416. package/splitter/splitter.cjs.js +4 -2
  417. package/splitter/splitter.cjs.min.js +1 -1
  418. package/splitter/splitter.esm.js +5 -3
  419. package/splitter/splitter.esm.min.js +1 -1
  420. package/splitter/splitter.js +4 -2
  421. package/splitter/splitter.min.js +1 -1
  422. package/steps/Steps.d.ts +5 -3
  423. package/steps/Steps.vue +5 -2
  424. package/steps/steps.cjs.js +5 -2
  425. package/steps/steps.cjs.min.js +1 -1
  426. package/steps/steps.esm.js +5 -2
  427. package/steps/steps.esm.min.js +1 -1
  428. package/steps/steps.js +5 -2
  429. package/steps/steps.min.js +1 -1
  430. package/tabmenu/TabMenu.d.ts +5 -3
  431. package/tabmenu/TabMenu.vue +10 -3
  432. package/tabmenu/tabmenu.cjs.js +7 -4
  433. package/tabmenu/tabmenu.cjs.min.js +1 -1
  434. package/tabmenu/tabmenu.esm.js +7 -4
  435. package/tabmenu/tabmenu.esm.min.js +1 -1
  436. package/tabmenu/tabmenu.js +7 -4
  437. package/tabmenu/tabmenu.min.js +1 -1
  438. package/terminal/terminal.js +1 -1
  439. package/terminal/terminal.min.js +1 -1
  440. package/terminalservice/TerminalService.d.ts +9 -6
  441. package/tieredmenu/TieredMenu.d.ts +5 -3
  442. package/tieredmenu/TieredMenuSub.vue +8 -5
  443. package/tieredmenu/tieredmenu.cjs.js +8 -5
  444. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  445. package/tieredmenu/tieredmenu.esm.js +8 -5
  446. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  447. package/tieredmenu/tieredmenu.js +8 -5
  448. package/tieredmenu/tieredmenu.min.js +1 -1
  449. package/timeline/Timeline.d.ts +8 -3
  450. package/toast/Toast.d.ts +7 -0
  451. package/toastservice/ToastService.d.ts +3 -2
  452. package/tooltip/tooltip.cjs.js +5 -1
  453. package/tooltip/tooltip.cjs.min.js +1 -1
  454. package/tooltip/tooltip.esm.js +5 -1
  455. package/tooltip/tooltip.esm.min.js +1 -1
  456. package/tooltip/tooltip.js +5 -1
  457. package/tooltip/tooltip.min.js +1 -1
  458. package/tree/Tree.d.ts +5 -1
  459. package/tree/TreeNode.vue +4 -1
  460. package/tree/tree.cjs.js +4 -1
  461. package/tree/tree.cjs.min.js +1 -1
  462. package/tree/tree.esm.js +4 -1
  463. package/tree/tree.esm.min.js +1 -1
  464. package/tree/tree.js +4 -1
  465. package/tree/tree.min.js +1 -1
  466. package/treeselect/TreeSelect.d.ts +20 -3
  467. package/treeselect/TreeSelect.vue +9 -0
  468. package/treeselect/treeselect.cjs.js +9 -0
  469. package/treeselect/treeselect.cjs.min.js +1 -1
  470. package/treeselect/treeselect.esm.js +9 -0
  471. package/treeselect/treeselect.esm.min.js +1 -1
  472. package/treeselect/treeselect.js +9 -0
  473. package/treeselect/treeselect.min.js +1 -1
  474. package/treetable/BodyCell.vue +2 -3
  475. package/treetable/FooterCell.vue +2 -2
  476. package/treetable/HeaderCell.vue +2 -2
  477. package/treetable/TreeTable.d.ts +2 -2
  478. package/treetable/TreeTable.vue +10 -10
  479. package/treetable/TreeTableRow.vue +2 -2
  480. package/treetable/treetable.cjs.js +18 -18
  481. package/treetable/treetable.cjs.min.js +1 -1
  482. package/treetable/treetable.esm.js +19 -19
  483. package/treetable/treetable.esm.min.js +1 -1
  484. package/treetable/treetable.js +18 -18
  485. package/treetable/treetable.min.js +1 -1
  486. package/utils/Utils.d.ts +80 -0
  487. package/utils/package.json +3 -2
  488. package/utils/utils.cjs.js +126 -108
  489. package/utils/utils.cjs.min.js +1 -1
  490. package/utils/utils.esm.js +126 -108
  491. package/utils/utils.esm.min.js +1 -1
  492. package/utils/utils.js +126 -108
  493. package/utils/utils.min.js +1 -1
  494. package/vetur-attributes.json +24 -0
  495. package/vetur-tags.json +9 -3
  496. package/virtualscroller/VirtualScroller.d.ts +52 -6
  497. package/virtualscroller/VirtualScroller.vue +1 -1
  498. package/virtualscroller/virtualscroller.cjs.js +1 -1
  499. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  500. package/virtualscroller/virtualscroller.esm.js +1 -1
  501. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  502. package/virtualscroller/virtualscroller.js +1 -1
  503. package/virtualscroller/virtualscroller.min.js +1 -1
  504. package/web-types.json +228 -13
@@ -51,6 +51,10 @@
51
51
  "description": "Specifies the behavior dropdown button. Default \"blank\" mode sends an empty string and \"current\" mode sends the input value.",
52
52
  "type": "string"
53
53
  },
54
+ "autocomplete/autoHighlight": {
55
+ "description": "Highlights automatically the first item of the dropdown to be selected.",
56
+ "type": "boolean"
57
+ },
54
58
  "autocomplete/multiple": {
55
59
  "description": "Specifies if multiple values can be selected.",
56
60
  "type": "boolean"
@@ -1003,6 +1007,10 @@
1003
1007
  "description": "A function that takes the row data and returns a string to apply a particular class for the row.",
1004
1008
  "type": "function"
1005
1009
  },
1010
+ "datatable/rowStyle": {
1011
+ "description": "A function that takes the row data as a parameter and returns the inline style for the corresponding row.",
1012
+ "type": "object"
1013
+ },
1006
1014
  "datatable/scrollable": {
1007
1015
  "description": "When specified, enables horizontal and/or vertical scrolling.",
1008
1016
  "type": "boolean"
@@ -1035,6 +1043,14 @@
1035
1043
  "description": "Whether to displays rows with alternating colors.",
1036
1044
  "type": "boolean"
1037
1045
  },
1046
+ "datatable/tableStyle": {
1047
+ "description": "Inline style of the table element.",
1048
+ "type": "object"
1049
+ },
1050
+ "datatable/tableClass": {
1051
+ "description": "Style class of the table element.",
1052
+ "type": "string"
1053
+ },
1038
1054
  "dataview/value": {
1039
1055
  "description": "An array of objects to display.",
1040
1056
  "type": "array"
@@ -1563,6 +1579,10 @@
1563
1579
  "description": "Displays a button to switch back to display mode.",
1564
1580
  "type": "boolean"
1565
1581
  },
1582
+ "inplace/diabled": {
1583
+ "description": "When present, it specifies that the element should be disabled.",
1584
+ "type": "boolean"
1585
+ },
1566
1586
  "inputmask/modelValue": {
1567
1587
  "description": "Value of the component.",
1568
1588
  "type": "any"
@@ -1899,6 +1919,10 @@
1899
1919
  "description": "Delay in milliseconds to close the message automatically.",
1900
1920
  "type": "number"
1901
1921
  },
1922
+ "message/icon": {
1923
+ "description": "Display a custom icon for the message.",
1924
+ "type": "string"
1925
+ },
1902
1926
  "multiselect/modelValue": {
1903
1927
  "description": "Value of the component.",
1904
1928
  "type": "any"
package/vetur-tags.json CHANGED
@@ -25,6 +25,7 @@
25
25
  "scrollHeight",
26
26
  "dropdown",
27
27
  "dropdownMode",
28
+ "autoHighlight",
28
29
  "multiple",
29
30
  "minLength",
30
31
  "completeOnFocus",
@@ -353,6 +354,7 @@
353
354
  "editMode",
354
355
  "editingRows",
355
356
  "rowClass",
357
+ "rowStyle",
356
358
  "scrollable",
357
359
  "scrollDirection",
358
360
  "scrollHeight",
@@ -360,7 +362,9 @@
360
362
  "responsiveLayout",
361
363
  "breakpoint",
362
364
  "showGridlines",
363
- "stripedRows"
365
+ "stripedRows",
366
+ "tableStyle",
367
+ "tableClass"
364
368
  ]
365
369
  },
366
370
  "DataView": {
@@ -557,7 +561,8 @@
557
561
  "description": "Inplace provides an easy to do editing and display at the same time where clicking the output displays the actual content.",
558
562
  "attributes": [
559
563
  "active",
560
- "closable"
564
+ "closable",
565
+ "diabled"
561
566
  ]
562
567
  },
563
568
  "InputMask": {
@@ -691,7 +696,8 @@
691
696
  "severity",
692
697
  "closable",
693
698
  "sticky",
694
- "life"
699
+ "life",
700
+ "icon"
695
701
  ]
696
702
  },
697
703
  "MultiSelect": {
@@ -1,5 +1,3 @@
1
- import { VNode } from 'vue';
2
-
3
1
  interface VirtualScrollerProps {
4
2
  items?: any[]|any[][];
5
3
  itemSize?: number|any[];
@@ -15,14 +13,62 @@ interface VirtualScrollerProps {
15
13
  class?: string;
16
14
  }
17
15
 
16
+ interface VirtualScrollerRangeMethodInterface {
17
+ first: number;
18
+ last: number;
19
+ viewport: {
20
+ first: number;
21
+ last: number;
22
+ }
23
+ }
24
+
25
+ interface VirtualScrollerGetItemOptionsInterface {
26
+ index: number;
27
+ count: number;
28
+ first: number;
29
+ last: number;
30
+ even: number;
31
+ odd: number;
32
+ }
33
+
34
+ interface VirtualScrollerGetLoaderOptionsInterface {
35
+ loading: boolean;
36
+ first: number;
37
+ last: number;
38
+ even: number;
39
+ odd: number;
40
+ }
41
+
42
+ interface VirtualScrollerContentSlotInterface {
43
+ contentRef: string;
44
+ styleClass: string;
45
+ items: any[];
46
+ getItemOptions: VirtualScrollerGetItemOptionsInterface;
47
+ }
48
+
49
+ interface VirtualScrollerItemSlotInterface {
50
+ item: any;
51
+ options: VirtualScrollerGetItemOptionsInterface;
52
+ }
53
+
54
+ interface VirtualScrollerLoaderSlotInterface {
55
+ options: VirtualScrollerGetLoaderOptionsInterface;
56
+ }
57
+
18
58
  declare class VirtualScroller {
19
59
  $props: VirtualScrollerProps;
60
+ scrollTo(options?: ScrollToOptions): void;
61
+ scrollToIndex(index: number, behavior: ScrollBehavior): void;
62
+ scrollInView(index: number, to: "to-start" | "to-end", behavior: ScrollBehavior): void;
63
+ getRenderedRange(): VirtualScrollerRangeMethodInterface;
20
64
  $emit(eventName: 'update:numToleratedItems', value: number): this;
21
65
  $emit(eventName: 'scroll-index-change', value: { first: number, last: number }): this;
22
66
  $emit(eventName: 'lazy-load', value: { first: number, last: number }): this;
23
67
  $slots: {
24
- content: VNode[];
25
- items: VNode[];
26
- loader: VNode[];
68
+ content: VirtualScrollerContentSlotInterface;
69
+ item: VirtualScrollerItemSlotInterface;
70
+ loader: VirtualScrollerLoaderSlotInterface;
27
71
  }
28
- }
72
+ }
73
+
74
+ export default VirtualScroller;
@@ -391,7 +391,7 @@ export default {
391
391
  isHorizontal ? scrollTo(calculateCoord(newFirst, itemSize, contentPadding.left), 0) : scrollTo(0, calculateCoord(newFirst, itemSize, contentPadding.top));
392
392
  }
393
393
 
394
- this.first = newFirst.index;
394
+ this.first = newFirst;
395
395
  }
396
396
  },
397
397
  scrollInView(index, to, behavior = 'auto') {
@@ -368,7 +368,7 @@ var script = {
368
368
  isHorizontal ? scrollTo(calculateCoord(newFirst, itemSize, contentPadding.left), 0) : scrollTo(0, calculateCoord(newFirst, itemSize, contentPadding.top));
369
369
  }
370
370
 
371
- this.first = newFirst.index;
371
+ this.first = newFirst;
372
372
  }
373
373
  },
374
374
  scrollInView(index, to, behavior = 'auto') {
@@ -1 +1 @@
1
- "use strict";var t=require("vue"),s={name:"VirtualScroller",emits:["update:numToleratedItems","scroll-index-change","lazy-load"],props:{items:{type:Array,default:null},itemSize:{type:[Number,Array],default:null},scrollHeight:null,scrollWidth:null,orientation:{type:String,default:"vertical"},numToleratedItems:{type:Number,default:null},delay:{type:Number,default:0},lazy:{type:Boolean,default:!1},showLoader:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},style:null,class:null,disabled:{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:null}},element:null,content:null,spacer:null,scrollTimeout:null,mounted(){this.init()},watch:{numToleratedItems(t){this.d_numToleratedItems=t},loading(t){this.d_loading=t},items(t,s){s&&s.length===(t||[]).length||this.init()}},methods:{init(){this.disabled||(this.setSize(),this.calculateOptions(),this.setSpacerSize())},getLast(t,s){return this.items?Math.min(s?this.items[0].length:this.items.length,t):0},calculateOptions(){const t=this.isBoth(),s=this.isHorizontal(),e=this.first,i=this.itemSize,o=this.getContentPadding(),l=this.element?this.element.offsetWidth-o.left:0,n=this.element?this.element.offsetHeight-o.top:0,r=(t,s)=>Math.ceil(t/(s||t)),a=t?{rows:r(n,i[0]),cols:r(l,i[1])}:r(s?l:n,i);let h=this.d_numToleratedItems||Math.ceil((t?a.rows:a)/2);const c=(t,s,e)=>this.getLast(t+s+(t<h?2:3)*h,e),d=t?{rows:c(e.rows,a.rows),cols:c(e.cols,a.cols,!0)}:c(e,a);this.d_numToleratedItems=h,this.$emit("update:numToleratedItems",this.d_numToleratedItems),this.last=d,this.numItemsInViewport=a,this.showLoader&&(this.$slots&&this.$slots.loader?this.loaderArr=Array.from({length:t?a.rows:a}):this.loaderArr=Array.from({length:1})),this.lazy&&this.$emit("lazy-load",{first:e,last:d})},getContentPadding(){if(this.content){const t=getComputedStyle(this.content),s=parseInt(parseFloat(t.paddingLeft.slice(0,-2)),10),e=parseInt(parseFloat(t.paddingRight.slice(0,-2)),10),i=parseInt(parseFloat(t.paddingTop.slice(0,-2)),10),o=parseInt(parseFloat(t.paddingBottom.slice(0,-2)),10);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?(l("height",o),l("width",i)):s?l("width",i):l("height",o)}},setSpacerSize(){const t=this.items;if(this.spacer&&t){const s=this.isBoth(),e=this.isHorizontal(),i=this.itemSize,o=this.getContentPadding(),l=(t,s,e,i=0)=>this.spacer.style[t]=(s||[]).length*e+i+"px";s?(l("height",t[0],i[0],o.y),l("width",t[1],i[1],o.x)):e?l("width",t,i,o.x):l("height",t,i,o.y)}},setContentPosition(t){if(this.content){const s=this.isBoth(),e=this.isHorizontal(),i=this.content,o=t?t.first:this.first,l=this.itemSize,n=(t,s)=>t*s,r=(t=0,s=0)=>i.style.transform=`translate3d(${t}px, ${s}px, 0)`;if(s)r(n(o.cols,l[1]),n(o.rows,l[0]));else{const t=n(o,l);e?r(t,0):r(0,t)}}},onScrollPositionChange(t){const s=t.target,e=this.isBoth(),i=this.isHorizontal(),o=this.itemSize,l=this.getContentPadding(),n=(t,s)=>t?t>s?t-s:t:0,r=(t,s)=>Math.floor(t/(s||t)),a=(t,s,e,i,o)=>t<=this.d_numToleratedItems?this.d_numToleratedItems:o?e-i-this.d_numToleratedItems:s+this.d_numToleratedItems-1,h=(t,s,e,i,o,l)=>t<=this.d_numToleratedItems?0:l?t<s?e:t-this.d_numToleratedItems:t>s?e:t-2*this.d_numToleratedItems,c=(t,s,e,i,o)=>{let l=s+i+2*this.d_numToleratedItems;return t>=this.d_numToleratedItems&&(l+=this.d_numToleratedItems+1),this.getLast(l,o)},d=n(s.scrollTop,l.top),m=n(s.scrollLeft,l.left);let f=0,p=this.last,u=!1;if(e){const t=this.lastScrollPos.top<=d,s=this.lastScrollPos.left<=m,e={rows:r(d,o[0]),cols:r(m,o[1])},i={rows:a(e.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,t),cols:a(e.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,s)};f={rows:h(e.rows,i.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,t),cols:h(e.cols,i.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,s)},p={rows:c(e.rows,f.rows,this.last.rows,this.numItemsInViewport.rows),cols:c(e.cols,f.cols,this.last.cols,this.numItemsInViewport.cols,!0)},u=f.rows!==this.first.rows||f.cols!==this.first.cols||p.rows!==this.last.rows||p.cols!==this.last.cols,this.lastScrollPos={top:d,left:m}}else{const t=i?m:d,s=this.lastScrollPos<=t,e=r(t,o);f=h(e,a(e,this.first,this.last,this.numItemsInViewport,s),this.first,this.last,this.numItemsInViewport,s),p=c(e,f,this.last,this.numItemsInViewport),u=f!==this.first||p!==this.last,this.lastScrollPos=t}return{first:f,last:p,isRangeChanged:u}},onScrollChange(t){const{first:s,last:e,isRangeChanged:i}=this.onScrollPositionChange(t);if(i){const t={first:s,last:e};this.setContentPosition(t),this.lazy&&this.$emit("lazy-load",{first:s,last:e}),this.first=s,this.last=e,this.$emit("scroll-index-change",{first:s,last:e})}},onScroll(t){if(this.delay&&!this.lazy){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){let 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){let s=this.loaderArr.length;return{loading:this.d_loading,first:0===t,last:t===s-1,even:t%2==0,odd:t%2!=0}},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.itemSize,l=this.getContentPadding(),n=(t=0)=>t<=this.d_numToleratedItems?0:t,r=(t,s,e)=>t*s+e,a=(t=0,e=0)=>this.scrollTo({left:t,top:e,behavior:s});if(e){const s={rows:n(t[0]),cols:n(t[1])};s.rows===this.first.rows&&s.cols===this.first.cols||a(r(s.cols,o[1],l.left),r(s.rows,o[0],l.top))}else{const s=n(t);s!==this.first&&(i?a(r(s,o,l.left),0):a(0,r(s,o,l.top))),this.first=s.index}},scrollInView(t,s,e="auto"){if(s){const i=this.isBoth(),o=this.isHorizontal(),{first:l,viewport:n}=this.getRenderedRange(),r=this.itemSize,a=(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]?a(n.first.cols*r[1],(n.first.rows-1)*r[0]):n.first.cols-l.cols>t[1]&&a((n.first.cols-1)*r[1],n.first.rows*r[0]);else if(n.first-l>t){const t=(n.first-1)*r;o?a(t,0):a(0,t)}}else if(h)if(i)n.last.rows-l.rows<=t[0]+1?a(n.first.cols*r[1],(n.first.rows+1)*r[0]):n.last.cols-l.cols<=t[1]+1&&a((n.first.cols+1)*r[1],n.first.rows*r[0]);else if(n.last-l<=t+1){const t=(n.first+1)*r;o?a(t,0):a(0,t)}}else this.scrollToIndex(t,e)},getRenderedRange(){const t=this.isBoth(),s=this.isHorizontal(),e=this.itemSize,i=(t,s)=>Math.floor(t/(s||t));let o=this.first,l=0;if(this.element){const n=this.element.scrollTop,r=this.element.scrollLeft;if(t)o={rows:i(n,e[0]),cols:i(r,e[1])},l={rows:o.rows+this.numItemsInViewport.rows,cols:o.cols+this.numItemsInViewport.cols};else{o=i(s?r:n,e),l=o+this.numItemsInViewport}}return{first:this.first,last:this.last,viewport:{first:o,last:l}}},elementRef(t){this.element=t},contentRef(t){this.content=t},spacerRef(t){this.spacer=t}},computed:{containerClass(){return["p-virtualscroller",{"p-both-scroll":this.isBoth(),"p-horizontal-scroll":this.isHorizontal()},this.class]},loaderClass(){return["p-virtualscroller-loader",{"p-component-overlay":!this.$slots.loader}]},loadedItems(){const t=this.items;if(t&&!this.d_loading){return this.isBoth()?t.slice(this.first.rows,this.last.rows).map((t=>t.slice(this.first.cols,this.last.cols))):t.slice(this.first,this.last).map((t=>t))}return[]}}};const e=t.createVNode("i",{class:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"},null,-1);!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}\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})],64)):(t.openBlock(),t.createBlock("div",{key:0,ref:r.elementRef,class:r.containerClass,style:o.style,onScroll:i[1]||(i[1]=(...t)=>r.onScroll&&r.onScroll(...t))},[t.renderSlot(s.$slots,"content",{styleClass:"p-virtualscroller-content",contentRef:r.contentRef,items:r.loadedItems,getItemOptions:r.getOptions},(()=>[t.createVNode("div",{ref:r.contentRef,class:"p-virtualscroller-content"},[(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))],512)])),t.createVNode("div",{ref:r.spacerRef,class:"p-virtualscroller-spacer"},null,512),n.d_loading?(t.openBlock(),t.createBlock("div",{key:0,class:r.loaderClass},[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(n.loaderArr,((i,o)=>t.renderSlot(s.$slots,"loader",{key:o,options:r.getLoaderOptions(o)},(()=>[e])))),128))],2)):t.createCommentVNode("",!0)],38))},module.exports=s;
1
+ "use strict";var t=require("vue"),s={name:"VirtualScroller",emits:["update:numToleratedItems","scroll-index-change","lazy-load"],props:{items:{type:Array,default:null},itemSize:{type:[Number,Array],default:null},scrollHeight:null,scrollWidth:null,orientation:{type:String,default:"vertical"},numToleratedItems:{type:Number,default:null},delay:{type:Number,default:0},lazy:{type:Boolean,default:!1},showLoader:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},style:null,class:null,disabled:{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:null}},element:null,content:null,spacer:null,scrollTimeout:null,mounted(){this.init()},watch:{numToleratedItems(t){this.d_numToleratedItems=t},loading(t){this.d_loading=t},items(t,s){s&&s.length===(t||[]).length||this.init()}},methods:{init(){this.disabled||(this.setSize(),this.calculateOptions(),this.setSpacerSize())},getLast(t,s){return this.items?Math.min(s?this.items[0].length:this.items.length,t):0},calculateOptions(){const t=this.isBoth(),s=this.isHorizontal(),e=this.first,i=this.itemSize,o=this.getContentPadding(),l=this.element?this.element.offsetWidth-o.left:0,n=this.element?this.element.offsetHeight-o.top:0,r=(t,s)=>Math.ceil(t/(s||t)),a=t?{rows:r(n,i[0]),cols:r(l,i[1])}:r(s?l:n,i);let h=this.d_numToleratedItems||Math.ceil((t?a.rows:a)/2);const c=(t,s,e)=>this.getLast(t+s+(t<h?2:3)*h,e),d=t?{rows:c(e.rows,a.rows),cols:c(e.cols,a.cols,!0)}:c(e,a);this.d_numToleratedItems=h,this.$emit("update:numToleratedItems",this.d_numToleratedItems),this.last=d,this.numItemsInViewport=a,this.showLoader&&(this.$slots&&this.$slots.loader?this.loaderArr=Array.from({length:t?a.rows:a}):this.loaderArr=Array.from({length:1})),this.lazy&&this.$emit("lazy-load",{first:e,last:d})},getContentPadding(){if(this.content){const t=getComputedStyle(this.content),s=parseInt(parseFloat(t.paddingLeft.slice(0,-2)),10),e=parseInt(parseFloat(t.paddingRight.slice(0,-2)),10),i=parseInt(parseFloat(t.paddingTop.slice(0,-2)),10),o=parseInt(parseFloat(t.paddingBottom.slice(0,-2)),10);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?(l("height",o),l("width",i)):s?l("width",i):l("height",o)}},setSpacerSize(){const t=this.items;if(this.spacer&&t){const s=this.isBoth(),e=this.isHorizontal(),i=this.itemSize,o=this.getContentPadding(),l=(t,s,e,i=0)=>this.spacer.style[t]=(s||[]).length*e+i+"px";s?(l("height",t[0],i[0],o.y),l("width",t[1],i[1],o.x)):e?l("width",t,i,o.x):l("height",t,i,o.y)}},setContentPosition(t){if(this.content){const s=this.isBoth(),e=this.isHorizontal(),i=this.content,o=t?t.first:this.first,l=this.itemSize,n=(t,s)=>t*s,r=(t=0,s=0)=>i.style.transform=`translate3d(${t}px, ${s}px, 0)`;if(s)r(n(o.cols,l[1]),n(o.rows,l[0]));else{const t=n(o,l);e?r(t,0):r(0,t)}}},onScrollPositionChange(t){const s=t.target,e=this.isBoth(),i=this.isHorizontal(),o=this.itemSize,l=this.getContentPadding(),n=(t,s)=>t?t>s?t-s:t:0,r=(t,s)=>Math.floor(t/(s||t)),a=(t,s,e,i,o)=>t<=this.d_numToleratedItems?this.d_numToleratedItems:o?e-i-this.d_numToleratedItems:s+this.d_numToleratedItems-1,h=(t,s,e,i,o,l)=>t<=this.d_numToleratedItems?0:l?t<s?e:t-this.d_numToleratedItems:t>s?e:t-2*this.d_numToleratedItems,c=(t,s,e,i,o)=>{let l=s+i+2*this.d_numToleratedItems;return t>=this.d_numToleratedItems&&(l+=this.d_numToleratedItems+1),this.getLast(l,o)},d=n(s.scrollTop,l.top),m=n(s.scrollLeft,l.left);let f=0,p=this.last,u=!1;if(e){const t=this.lastScrollPos.top<=d,s=this.lastScrollPos.left<=m,e={rows:r(d,o[0]),cols:r(m,o[1])},i={rows:a(e.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,t),cols:a(e.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,s)};f={rows:h(e.rows,i.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,t),cols:h(e.cols,i.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,s)},p={rows:c(e.rows,f.rows,this.last.rows,this.numItemsInViewport.rows),cols:c(e.cols,f.cols,this.last.cols,this.numItemsInViewport.cols,!0)},u=f.rows!==this.first.rows||f.cols!==this.first.cols||p.rows!==this.last.rows||p.cols!==this.last.cols,this.lastScrollPos={top:d,left:m}}else{const t=i?m:d,s=this.lastScrollPos<=t,e=r(t,o);f=h(e,a(e,this.first,this.last,this.numItemsInViewport,s),this.first,this.last,this.numItemsInViewport,s),p=c(e,f,this.last,this.numItemsInViewport),u=f!==this.first||p!==this.last,this.lastScrollPos=t}return{first:f,last:p,isRangeChanged:u}},onScrollChange(t){const{first:s,last:e,isRangeChanged:i}=this.onScrollPositionChange(t);if(i){const t={first:s,last:e};this.setContentPosition(t),this.lazy&&this.$emit("lazy-load",{first:s,last:e}),this.first=s,this.last=e,this.$emit("scroll-index-change",{first:s,last:e})}},onScroll(t){if(this.delay&&!this.lazy){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){let 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){let s=this.loaderArr.length;return{loading:this.d_loading,first:0===t,last:t===s-1,even:t%2==0,odd:t%2!=0}},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.itemSize,l=this.getContentPadding(),n=(t=0)=>t<=this.d_numToleratedItems?0:t,r=(t,s,e)=>t*s+e,a=(t=0,e=0)=>this.scrollTo({left:t,top:e,behavior:s});if(e){const s={rows:n(t[0]),cols:n(t[1])};s.rows===this.first.rows&&s.cols===this.first.cols||a(r(s.cols,o[1],l.left),r(s.rows,o[0],l.top))}else{const s=n(t);s!==this.first&&(i?a(r(s,o,l.left),0):a(0,r(s,o,l.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=this.itemSize,a=(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]?a(n.first.cols*r[1],(n.first.rows-1)*r[0]):n.first.cols-l.cols>t[1]&&a((n.first.cols-1)*r[1],n.first.rows*r[0]);else if(n.first-l>t){const t=(n.first-1)*r;o?a(t,0):a(0,t)}}else if(h)if(i)n.last.rows-l.rows<=t[0]+1?a(n.first.cols*r[1],(n.first.rows+1)*r[0]):n.last.cols-l.cols<=t[1]+1&&a((n.first.cols+1)*r[1],n.first.rows*r[0]);else if(n.last-l<=t+1){const t=(n.first+1)*r;o?a(t,0):a(0,t)}}else this.scrollToIndex(t,e)},getRenderedRange(){const t=this.isBoth(),s=this.isHorizontal(),e=this.itemSize,i=(t,s)=>Math.floor(t/(s||t));let o=this.first,l=0;if(this.element){const n=this.element.scrollTop,r=this.element.scrollLeft;if(t)o={rows:i(n,e[0]),cols:i(r,e[1])},l={rows:o.rows+this.numItemsInViewport.rows,cols:o.cols+this.numItemsInViewport.cols};else{o=i(s?r:n,e),l=o+this.numItemsInViewport}}return{first:this.first,last:this.last,viewport:{first:o,last:l}}},elementRef(t){this.element=t},contentRef(t){this.content=t},spacerRef(t){this.spacer=t}},computed:{containerClass(){return["p-virtualscroller",{"p-both-scroll":this.isBoth(),"p-horizontal-scroll":this.isHorizontal()},this.class]},loaderClass(){return["p-virtualscroller-loader",{"p-component-overlay":!this.$slots.loader}]},loadedItems(){const t=this.items;if(t&&!this.d_loading){return this.isBoth()?t.slice(this.first.rows,this.last.rows).map((t=>t.slice(this.first.cols,this.last.cols))):t.slice(this.first,this.last).map((t=>t))}return[]}}};const e=t.createVNode("i",{class:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"},null,-1);!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}\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})],64)):(t.openBlock(),t.createBlock("div",{key:0,ref:r.elementRef,class:r.containerClass,style:o.style,onScroll:i[1]||(i[1]=(...t)=>r.onScroll&&r.onScroll(...t))},[t.renderSlot(s.$slots,"content",{styleClass:"p-virtualscroller-content",contentRef:r.contentRef,items:r.loadedItems,getItemOptions:r.getOptions},(()=>[t.createVNode("div",{ref:r.contentRef,class:"p-virtualscroller-content"},[(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))],512)])),t.createVNode("div",{ref:r.spacerRef,class:"p-virtualscroller-spacer"},null,512),n.d_loading?(t.openBlock(),t.createBlock("div",{key:0,class:r.loaderClass},[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(n.loaderArr,((i,o)=>t.renderSlot(s.$slots,"loader",{key:o,options:r.getLoaderOptions(o)},(()=>[e])))),128))],2)):t.createCommentVNode("",!0)],38))},module.exports=s;
@@ -366,7 +366,7 @@ var script = {
366
366
  isHorizontal ? scrollTo(calculateCoord(newFirst, itemSize, contentPadding.left), 0) : scrollTo(0, calculateCoord(newFirst, itemSize, contentPadding.top));
367
367
  }
368
368
 
369
- this.first = newFirst.index;
369
+ this.first = newFirst;
370
370
  }
371
371
  },
372
372
  scrollInView(index, to, behavior = 'auto') {
@@ -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-index-change","lazy-load"],props:{items:{type:Array,default:null},itemSize:{type:[Number,Array],default:null},scrollHeight:null,scrollWidth:null,orientation:{type:String,default:"vertical"},numToleratedItems:{type:Number,default:null},delay:{type:Number,default:0},lazy:{type:Boolean,default:!1},showLoader:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},style:null,class:null,disabled:{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:null}},element:null,content:null,spacer:null,scrollTimeout:null,mounted(){this.init()},watch:{numToleratedItems(t){this.d_numToleratedItems=t},loading(t){this.d_loading=t},items(t,s){s&&s.length===(t||[]).length||this.init()}},methods:{init(){this.disabled||(this.setSize(),this.calculateOptions(),this.setSpacerSize())},getLast(t,s){return this.items?Math.min(s?this.items[0].length:this.items.length,t):0},calculateOptions(){const t=this.isBoth(),s=this.isHorizontal(),e=this.first,i=this.itemSize,o=this.getContentPadding(),l=this.element?this.element.offsetWidth-o.left:0,n=this.element?this.element.offsetHeight-o.top:0,r=(t,s)=>Math.ceil(t/(s||t)),a=t?{rows:r(n,i[0]),cols:r(l,i[1])}:r(s?l:n,i);let h=this.d_numToleratedItems||Math.ceil((t?a.rows:a)/2);const c=(t,s,e)=>this.getLast(t+s+(t<h?2:3)*h,e),d=t?{rows:c(e.rows,a.rows),cols:c(e.cols,a.cols,!0)}:c(e,a);this.d_numToleratedItems=h,this.$emit("update:numToleratedItems",this.d_numToleratedItems),this.last=d,this.numItemsInViewport=a,this.showLoader&&(this.$slots&&this.$slots.loader?this.loaderArr=Array.from({length:t?a.rows:a}):this.loaderArr=Array.from({length:1})),this.lazy&&this.$emit("lazy-load",{first:e,last:d})},getContentPadding(){if(this.content){const t=getComputedStyle(this.content),s=parseInt(parseFloat(t.paddingLeft.slice(0,-2)),10),e=parseInt(parseFloat(t.paddingRight.slice(0,-2)),10),i=parseInt(parseFloat(t.paddingTop.slice(0,-2)),10),o=parseInt(parseFloat(t.paddingBottom.slice(0,-2)),10);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?(l("height",o),l("width",i)):s?l("width",i):l("height",o)}},setSpacerSize(){const t=this.items;if(this.spacer&&t){const s=this.isBoth(),e=this.isHorizontal(),i=this.itemSize,o=this.getContentPadding(),l=(t,s,e,i=0)=>this.spacer.style[t]=(s||[]).length*e+i+"px";s?(l("height",t[0],i[0],o.y),l("width",t[1],i[1],o.x)):e?l("width",t,i,o.x):l("height",t,i,o.y)}},setContentPosition(t){if(this.content){const s=this.isBoth(),e=this.isHorizontal(),i=this.content,o=t?t.first:this.first,l=this.itemSize,n=(t,s)=>t*s,r=(t=0,s=0)=>i.style.transform=`translate3d(${t}px, ${s}px, 0)`;if(s)r(n(o.cols,l[1]),n(o.rows,l[0]));else{const t=n(o,l);e?r(t,0):r(0,t)}}},onScrollPositionChange(t){const s=t.target,e=this.isBoth(),i=this.isHorizontal(),o=this.itemSize,l=this.getContentPadding(),n=(t,s)=>t?t>s?t-s:t:0,r=(t,s)=>Math.floor(t/(s||t)),a=(t,s,e,i,o)=>t<=this.d_numToleratedItems?this.d_numToleratedItems:o?e-i-this.d_numToleratedItems:s+this.d_numToleratedItems-1,h=(t,s,e,i,o,l)=>t<=this.d_numToleratedItems?0:l?t<s?e:t-this.d_numToleratedItems:t>s?e:t-2*this.d_numToleratedItems,c=(t,s,e,i,o)=>{let l=s+i+2*this.d_numToleratedItems;return t>=this.d_numToleratedItems&&(l+=this.d_numToleratedItems+1),this.getLast(l,o)},d=n(s.scrollTop,l.top),m=n(s.scrollLeft,l.left);let f=0,p=this.last,u=!1;if(e){const t=this.lastScrollPos.top<=d,s=this.lastScrollPos.left<=m,e={rows:r(d,o[0]),cols:r(m,o[1])},i={rows:a(e.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,t),cols:a(e.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,s)};f={rows:h(e.rows,i.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,t),cols:h(e.cols,i.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,s)},p={rows:c(e.rows,f.rows,this.last.rows,this.numItemsInViewport.rows),cols:c(e.cols,f.cols,this.last.cols,this.numItemsInViewport.cols,!0)},u=f.rows!==this.first.rows||f.cols!==this.first.cols||p.rows!==this.last.rows||p.cols!==this.last.cols,this.lastScrollPos={top:d,left:m}}else{const t=i?m:d,s=this.lastScrollPos<=t,e=r(t,o);f=h(e,a(e,this.first,this.last,this.numItemsInViewport,s),this.first,this.last,this.numItemsInViewport,s),p=c(e,f,this.last,this.numItemsInViewport),u=f!==this.first||p!==this.last,this.lastScrollPos=t}return{first:f,last:p,isRangeChanged:u}},onScrollChange(t){const{first:s,last:e,isRangeChanged:i}=this.onScrollPositionChange(t);if(i){const t={first:s,last:e};this.setContentPosition(t),this.lazy&&this.$emit("lazy-load",{first:s,last:e}),this.first=s,this.last=e,this.$emit("scroll-index-change",{first:s,last:e})}},onScroll(t){if(this.delay&&!this.lazy){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){let 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){let s=this.loaderArr.length;return{loading:this.d_loading,first:0===t,last:t===s-1,even:t%2==0,odd:t%2!=0}},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.itemSize,l=this.getContentPadding(),n=(t=0)=>t<=this.d_numToleratedItems?0:t,r=(t,s,e)=>t*s+e,a=(t=0,e=0)=>this.scrollTo({left:t,top:e,behavior:s});if(e){const s={rows:n(t[0]),cols:n(t[1])};s.rows===this.first.rows&&s.cols===this.first.cols||a(r(s.cols,o[1],l.left),r(s.rows,o[0],l.top))}else{const s=n(t);s!==this.first&&(i?a(r(s,o,l.left),0):a(0,r(s,o,l.top))),this.first=s.index}},scrollInView(t,s,e="auto"){if(s){const i=this.isBoth(),o=this.isHorizontal(),{first:l,viewport:n}=this.getRenderedRange(),r=this.itemSize,a=(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]?a(n.first.cols*r[1],(n.first.rows-1)*r[0]):n.first.cols-l.cols>t[1]&&a((n.first.cols-1)*r[1],n.first.rows*r[0]);else if(n.first-l>t){const t=(n.first-1)*r;o?a(t,0):a(0,t)}}else if(h)if(i)n.last.rows-l.rows<=t[0]+1?a(n.first.cols*r[1],(n.first.rows+1)*r[0]):n.last.cols-l.cols<=t[1]+1&&a((n.first.cols+1)*r[1],n.first.rows*r[0]);else if(n.last-l<=t+1){const t=(n.first+1)*r;o?a(t,0):a(0,t)}}else this.scrollToIndex(t,e)},getRenderedRange(){const t=this.isBoth(),s=this.isHorizontal(),e=this.itemSize,i=(t,s)=>Math.floor(t/(s||t));let o=this.first,l=0;if(this.element){const n=this.element.scrollTop,r=this.element.scrollLeft;if(t)o={rows:i(n,e[0]),cols:i(r,e[1])},l={rows:o.rows+this.numItemsInViewport.rows,cols:o.cols+this.numItemsInViewport.cols};else{o=i(s?r:n,e),l=o+this.numItemsInViewport}}return{first:this.first,last:this.last,viewport:{first:o,last:l}}},elementRef(t){this.element=t},contentRef(t){this.content=t},spacerRef(t){this.spacer=t}},computed:{containerClass(){return["p-virtualscroller",{"p-both-scroll":this.isBoth(),"p-horizontal-scroll":this.isHorizontal()},this.class]},loaderClass(){return["p-virtualscroller-loader",{"p-component-overlay":!this.$slots.loader}]},loadedItems(){const t=this.items;if(t&&!this.d_loading){return this.isBoth()?t.slice(this.first.rows,this.last.rows).map((t=>t.slice(this.first.cols,this.last.cols))):t.slice(this.first,this.last).map((t=>t))}return[]}}};const a=i("i",{class:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"},null,-1);!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}\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,h,c,d,m,f){return c.disabled?(t(),s(o,{key:1},[e(r.$slots,"default"),e(r.$slots,"content",{items:c.items})],64)):(t(),s("div",{key:0,ref:f.elementRef,class:f.containerClass,style:c.style,onScroll:h[1]||(h[1]=(...t)=>f.onScroll&&f.onScroll(...t))},[e(r.$slots,"content",{styleClass:"p-virtualscroller-content",contentRef:f.contentRef,items:f.loadedItems,getItemOptions:f.getOptions},(()=>[i("div",{ref:f.contentRef,class:"p-virtualscroller-content"},[(t(!0),s(o,null,l(f.loadedItems,((t,s)=>e(r.$slots,"item",{key:s,item:t,options:f.getOptions(s)}))),128))],512)])),i("div",{ref:f.spacerRef,class:"p-virtualscroller-spacer"},null,512),m.d_loading?(t(),s("div",{key:0,class:f.loaderClass},[(t(!0),s(o,null,l(m.loaderArr,((t,s)=>e(r.$slots,"loader",{key:s,options:f.getLoaderOptions(s)},(()=>[a])))),128))],2)):n("",!0)],38))};export default r;
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-index-change","lazy-load"],props:{items:{type:Array,default:null},itemSize:{type:[Number,Array],default:null},scrollHeight:null,scrollWidth:null,orientation:{type:String,default:"vertical"},numToleratedItems:{type:Number,default:null},delay:{type:Number,default:0},lazy:{type:Boolean,default:!1},showLoader:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},style:null,class:null,disabled:{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:null}},element:null,content:null,spacer:null,scrollTimeout:null,mounted(){this.init()},watch:{numToleratedItems(t){this.d_numToleratedItems=t},loading(t){this.d_loading=t},items(t,s){s&&s.length===(t||[]).length||this.init()}},methods:{init(){this.disabled||(this.setSize(),this.calculateOptions(),this.setSpacerSize())},getLast(t,s){return this.items?Math.min(s?this.items[0].length:this.items.length,t):0},calculateOptions(){const t=this.isBoth(),s=this.isHorizontal(),e=this.first,i=this.itemSize,o=this.getContentPadding(),l=this.element?this.element.offsetWidth-o.left:0,n=this.element?this.element.offsetHeight-o.top:0,r=(t,s)=>Math.ceil(t/(s||t)),a=t?{rows:r(n,i[0]),cols:r(l,i[1])}:r(s?l:n,i);let h=this.d_numToleratedItems||Math.ceil((t?a.rows:a)/2);const c=(t,s,e)=>this.getLast(t+s+(t<h?2:3)*h,e),d=t?{rows:c(e.rows,a.rows),cols:c(e.cols,a.cols,!0)}:c(e,a);this.d_numToleratedItems=h,this.$emit("update:numToleratedItems",this.d_numToleratedItems),this.last=d,this.numItemsInViewport=a,this.showLoader&&(this.$slots&&this.$slots.loader?this.loaderArr=Array.from({length:t?a.rows:a}):this.loaderArr=Array.from({length:1})),this.lazy&&this.$emit("lazy-load",{first:e,last:d})},getContentPadding(){if(this.content){const t=getComputedStyle(this.content),s=parseInt(parseFloat(t.paddingLeft.slice(0,-2)),10),e=parseInt(parseFloat(t.paddingRight.slice(0,-2)),10),i=parseInt(parseFloat(t.paddingTop.slice(0,-2)),10),o=parseInt(parseFloat(t.paddingBottom.slice(0,-2)),10);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?(l("height",o),l("width",i)):s?l("width",i):l("height",o)}},setSpacerSize(){const t=this.items;if(this.spacer&&t){const s=this.isBoth(),e=this.isHorizontal(),i=this.itemSize,o=this.getContentPadding(),l=(t,s,e,i=0)=>this.spacer.style[t]=(s||[]).length*e+i+"px";s?(l("height",t[0],i[0],o.y),l("width",t[1],i[1],o.x)):e?l("width",t,i,o.x):l("height",t,i,o.y)}},setContentPosition(t){if(this.content){const s=this.isBoth(),e=this.isHorizontal(),i=this.content,o=t?t.first:this.first,l=this.itemSize,n=(t,s)=>t*s,r=(t=0,s=0)=>i.style.transform=`translate3d(${t}px, ${s}px, 0)`;if(s)r(n(o.cols,l[1]),n(o.rows,l[0]));else{const t=n(o,l);e?r(t,0):r(0,t)}}},onScrollPositionChange(t){const s=t.target,e=this.isBoth(),i=this.isHorizontal(),o=this.itemSize,l=this.getContentPadding(),n=(t,s)=>t?t>s?t-s:t:0,r=(t,s)=>Math.floor(t/(s||t)),a=(t,s,e,i,o)=>t<=this.d_numToleratedItems?this.d_numToleratedItems:o?e-i-this.d_numToleratedItems:s+this.d_numToleratedItems-1,h=(t,s,e,i,o,l)=>t<=this.d_numToleratedItems?0:l?t<s?e:t-this.d_numToleratedItems:t>s?e:t-2*this.d_numToleratedItems,c=(t,s,e,i,o)=>{let l=s+i+2*this.d_numToleratedItems;return t>=this.d_numToleratedItems&&(l+=this.d_numToleratedItems+1),this.getLast(l,o)},d=n(s.scrollTop,l.top),m=n(s.scrollLeft,l.left);let f=0,p=this.last,u=!1;if(e){const t=this.lastScrollPos.top<=d,s=this.lastScrollPos.left<=m,e={rows:r(d,o[0]),cols:r(m,o[1])},i={rows:a(e.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,t),cols:a(e.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,s)};f={rows:h(e.rows,i.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,t),cols:h(e.cols,i.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,s)},p={rows:c(e.rows,f.rows,this.last.rows,this.numItemsInViewport.rows),cols:c(e.cols,f.cols,this.last.cols,this.numItemsInViewport.cols,!0)},u=f.rows!==this.first.rows||f.cols!==this.first.cols||p.rows!==this.last.rows||p.cols!==this.last.cols,this.lastScrollPos={top:d,left:m}}else{const t=i?m:d,s=this.lastScrollPos<=t,e=r(t,o);f=h(e,a(e,this.first,this.last,this.numItemsInViewport,s),this.first,this.last,this.numItemsInViewport,s),p=c(e,f,this.last,this.numItemsInViewport),u=f!==this.first||p!==this.last,this.lastScrollPos=t}return{first:f,last:p,isRangeChanged:u}},onScrollChange(t){const{first:s,last:e,isRangeChanged:i}=this.onScrollPositionChange(t);if(i){const t={first:s,last:e};this.setContentPosition(t),this.lazy&&this.$emit("lazy-load",{first:s,last:e}),this.first=s,this.last=e,this.$emit("scroll-index-change",{first:s,last:e})}},onScroll(t){if(this.delay&&!this.lazy){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){let 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){let s=this.loaderArr.length;return{loading:this.d_loading,first:0===t,last:t===s-1,even:t%2==0,odd:t%2!=0}},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.itemSize,l=this.getContentPadding(),n=(t=0)=>t<=this.d_numToleratedItems?0:t,r=(t,s,e)=>t*s+e,a=(t=0,e=0)=>this.scrollTo({left:t,top:e,behavior:s});if(e){const s={rows:n(t[0]),cols:n(t[1])};s.rows===this.first.rows&&s.cols===this.first.cols||a(r(s.cols,o[1],l.left),r(s.rows,o[0],l.top))}else{const s=n(t);s!==this.first&&(i?a(r(s,o,l.left),0):a(0,r(s,o,l.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=this.itemSize,a=(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]?a(n.first.cols*r[1],(n.first.rows-1)*r[0]):n.first.cols-l.cols>t[1]&&a((n.first.cols-1)*r[1],n.first.rows*r[0]);else if(n.first-l>t){const t=(n.first-1)*r;o?a(t,0):a(0,t)}}else if(h)if(i)n.last.rows-l.rows<=t[0]+1?a(n.first.cols*r[1],(n.first.rows+1)*r[0]):n.last.cols-l.cols<=t[1]+1&&a((n.first.cols+1)*r[1],n.first.rows*r[0]);else if(n.last-l<=t+1){const t=(n.first+1)*r;o?a(t,0):a(0,t)}}else this.scrollToIndex(t,e)},getRenderedRange(){const t=this.isBoth(),s=this.isHorizontal(),e=this.itemSize,i=(t,s)=>Math.floor(t/(s||t));let o=this.first,l=0;if(this.element){const n=this.element.scrollTop,r=this.element.scrollLeft;if(t)o={rows:i(n,e[0]),cols:i(r,e[1])},l={rows:o.rows+this.numItemsInViewport.rows,cols:o.cols+this.numItemsInViewport.cols};else{o=i(s?r:n,e),l=o+this.numItemsInViewport}}return{first:this.first,last:this.last,viewport:{first:o,last:l}}},elementRef(t){this.element=t},contentRef(t){this.content=t},spacerRef(t){this.spacer=t}},computed:{containerClass(){return["p-virtualscroller",{"p-both-scroll":this.isBoth(),"p-horizontal-scroll":this.isHorizontal()},this.class]},loaderClass(){return["p-virtualscroller-loader",{"p-component-overlay":!this.$slots.loader}]},loadedItems(){const t=this.items;if(t&&!this.d_loading){return this.isBoth()?t.slice(this.first.rows,this.last.rows).map((t=>t.slice(this.first.cols,this.last.cols))):t.slice(this.first,this.last).map((t=>t))}return[]}}};const a=i("i",{class:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"},null,-1);!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}\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,h,c,d,m,f){return c.disabled?(t(),s(o,{key:1},[e(r.$slots,"default"),e(r.$slots,"content",{items:c.items})],64)):(t(),s("div",{key:0,ref:f.elementRef,class:f.containerClass,style:c.style,onScroll:h[1]||(h[1]=(...t)=>f.onScroll&&f.onScroll(...t))},[e(r.$slots,"content",{styleClass:"p-virtualscroller-content",contentRef:f.contentRef,items:f.loadedItems,getItemOptions:f.getOptions},(()=>[i("div",{ref:f.contentRef,class:"p-virtualscroller-content"},[(t(!0),s(o,null,l(f.loadedItems,((t,s)=>e(r.$slots,"item",{key:s,item:t,options:f.getOptions(s)}))),128))],512)])),i("div",{ref:f.spacerRef,class:"p-virtualscroller-spacer"},null,512),m.d_loading?(t(),s("div",{key:0,class:f.loaderClass},[(t(!0),s(o,null,l(m.loaderArr,((t,s)=>e(r.$slots,"loader",{key:s,options:f.getLoaderOptions(s)},(()=>[a])))),128))],2)):n("",!0)],38))};export default r;
@@ -368,7 +368,7 @@ this.primevue.virtualscroller = (function (vue) {
368
368
  isHorizontal ? scrollTo(calculateCoord(newFirst, itemSize, contentPadding.left), 0) : scrollTo(0, calculateCoord(newFirst, itemSize, contentPadding.top));
369
369
  }
370
370
 
371
- this.first = newFirst.index;
371
+ this.first = newFirst;
372
372
  }
373
373
  },
374
374
  scrollInView(index, to, behavior = 'auto') {
@@ -1 +1 @@
1
- this.primevue=this.primevue||{},this.primevue.virtualscroller=function(t){"use strict";var s={name:"VirtualScroller",emits:["update:numToleratedItems","scroll-index-change","lazy-load"],props:{items:{type:Array,default:null},itemSize:{type:[Number,Array],default:null},scrollHeight:null,scrollWidth:null,orientation:{type:String,default:"vertical"},numToleratedItems:{type:Number,default:null},delay:{type:Number,default:0},lazy:{type:Boolean,default:!1},showLoader:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},style:null,class:null,disabled:{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:null}},element:null,content:null,spacer:null,scrollTimeout:null,mounted(){this.init()},watch:{numToleratedItems(t){this.d_numToleratedItems=t},loading(t){this.d_loading=t},items(t,s){s&&s.length===(t||[]).length||this.init()}},methods:{init(){this.disabled||(this.setSize(),this.calculateOptions(),this.setSpacerSize())},getLast(t,s){return this.items?Math.min(s?this.items[0].length:this.items.length,t):0},calculateOptions(){const t=this.isBoth(),s=this.isHorizontal(),e=this.first,i=this.itemSize,o=this.getContentPadding(),l=this.element?this.element.offsetWidth-o.left:0,n=this.element?this.element.offsetHeight-o.top:0,r=(t,s)=>Math.ceil(t/(s||t)),a=t?{rows:r(n,i[0]),cols:r(l,i[1])}:r(s?l:n,i);let h=this.d_numToleratedItems||Math.ceil((t?a.rows:a)/2);const c=(t,s,e)=>this.getLast(t+s+(t<h?2:3)*h,e),d=t?{rows:c(e.rows,a.rows),cols:c(e.cols,a.cols,!0)}:c(e,a);this.d_numToleratedItems=h,this.$emit("update:numToleratedItems",this.d_numToleratedItems),this.last=d,this.numItemsInViewport=a,this.showLoader&&(this.$slots&&this.$slots.loader?this.loaderArr=Array.from({length:t?a.rows:a}):this.loaderArr=Array.from({length:1})),this.lazy&&this.$emit("lazy-load",{first:e,last:d})},getContentPadding(){if(this.content){const t=getComputedStyle(this.content),s=parseInt(parseFloat(t.paddingLeft.slice(0,-2)),10),e=parseInt(parseFloat(t.paddingRight.slice(0,-2)),10),i=parseInt(parseFloat(t.paddingTop.slice(0,-2)),10),o=parseInt(parseFloat(t.paddingBottom.slice(0,-2)),10);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?(l("height",o),l("width",i)):s?l("width",i):l("height",o)}},setSpacerSize(){const t=this.items;if(this.spacer&&t){const s=this.isBoth(),e=this.isHorizontal(),i=this.itemSize,o=this.getContentPadding(),l=(t,s,e,i=0)=>this.spacer.style[t]=(s||[]).length*e+i+"px";s?(l("height",t[0],i[0],o.y),l("width",t[1],i[1],o.x)):e?l("width",t,i,o.x):l("height",t,i,o.y)}},setContentPosition(t){if(this.content){const s=this.isBoth(),e=this.isHorizontal(),i=this.content,o=t?t.first:this.first,l=this.itemSize,n=(t,s)=>t*s,r=(t=0,s=0)=>i.style.transform=`translate3d(${t}px, ${s}px, 0)`;if(s)r(n(o.cols,l[1]),n(o.rows,l[0]));else{const t=n(o,l);e?r(t,0):r(0,t)}}},onScrollPositionChange(t){const s=t.target,e=this.isBoth(),i=this.isHorizontal(),o=this.itemSize,l=this.getContentPadding(),n=(t,s)=>t?t>s?t-s:t:0,r=(t,s)=>Math.floor(t/(s||t)),a=(t,s,e,i,o)=>t<=this.d_numToleratedItems?this.d_numToleratedItems:o?e-i-this.d_numToleratedItems:s+this.d_numToleratedItems-1,h=(t,s,e,i,o,l)=>t<=this.d_numToleratedItems?0:l?t<s?e:t-this.d_numToleratedItems:t>s?e:t-2*this.d_numToleratedItems,c=(t,s,e,i,o)=>{let l=s+i+2*this.d_numToleratedItems;return t>=this.d_numToleratedItems&&(l+=this.d_numToleratedItems+1),this.getLast(l,o)},d=n(s.scrollTop,l.top),m=n(s.scrollLeft,l.left);let f=0,p=this.last,u=!1;if(e){const t=this.lastScrollPos.top<=d,s=this.lastScrollPos.left<=m,e={rows:r(d,o[0]),cols:r(m,o[1])},i={rows:a(e.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,t),cols:a(e.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,s)};f={rows:h(e.rows,i.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,t),cols:h(e.cols,i.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,s)},p={rows:c(e.rows,f.rows,this.last.rows,this.numItemsInViewport.rows),cols:c(e.cols,f.cols,this.last.cols,this.numItemsInViewport.cols,!0)},u=f.rows!==this.first.rows||f.cols!==this.first.cols||p.rows!==this.last.rows||p.cols!==this.last.cols,this.lastScrollPos={top:d,left:m}}else{const t=i?m:d,s=this.lastScrollPos<=t,e=r(t,o);f=h(e,a(e,this.first,this.last,this.numItemsInViewport,s),this.first,this.last,this.numItemsInViewport,s),p=c(e,f,this.last,this.numItemsInViewport),u=f!==this.first||p!==this.last,this.lastScrollPos=t}return{first:f,last:p,isRangeChanged:u}},onScrollChange(t){const{first:s,last:e,isRangeChanged:i}=this.onScrollPositionChange(t);if(i){const t={first:s,last:e};this.setContentPosition(t),this.lazy&&this.$emit("lazy-load",{first:s,last:e}),this.first=s,this.last=e,this.$emit("scroll-index-change",{first:s,last:e})}},onScroll(t){if(this.delay&&!this.lazy){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){let 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){let s=this.loaderArr.length;return{loading:this.d_loading,first:0===t,last:t===s-1,even:t%2==0,odd:t%2!=0}},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.itemSize,l=this.getContentPadding(),n=(t=0)=>t<=this.d_numToleratedItems?0:t,r=(t,s,e)=>t*s+e,a=(t=0,e=0)=>this.scrollTo({left:t,top:e,behavior:s});if(e){const s={rows:n(t[0]),cols:n(t[1])};s.rows===this.first.rows&&s.cols===this.first.cols||a(r(s.cols,o[1],l.left),r(s.rows,o[0],l.top))}else{const s=n(t);s!==this.first&&(i?a(r(s,o,l.left),0):a(0,r(s,o,l.top))),this.first=s.index}},scrollInView(t,s,e="auto"){if(s){const i=this.isBoth(),o=this.isHorizontal(),{first:l,viewport:n}=this.getRenderedRange(),r=this.itemSize,a=(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]?a(n.first.cols*r[1],(n.first.rows-1)*r[0]):n.first.cols-l.cols>t[1]&&a((n.first.cols-1)*r[1],n.first.rows*r[0]);else if(n.first-l>t){const t=(n.first-1)*r;o?a(t,0):a(0,t)}}else if(h)if(i)n.last.rows-l.rows<=t[0]+1?a(n.first.cols*r[1],(n.first.rows+1)*r[0]):n.last.cols-l.cols<=t[1]+1&&a((n.first.cols+1)*r[1],n.first.rows*r[0]);else if(n.last-l<=t+1){const t=(n.first+1)*r;o?a(t,0):a(0,t)}}else this.scrollToIndex(t,e)},getRenderedRange(){const t=this.isBoth(),s=this.isHorizontal(),e=this.itemSize,i=(t,s)=>Math.floor(t/(s||t));let o=this.first,l=0;if(this.element){const n=this.element.scrollTop,r=this.element.scrollLeft;if(t)o={rows:i(n,e[0]),cols:i(r,e[1])},l={rows:o.rows+this.numItemsInViewport.rows,cols:o.cols+this.numItemsInViewport.cols};else{o=i(s?r:n,e),l=o+this.numItemsInViewport}}return{first:this.first,last:this.last,viewport:{first:o,last:l}}},elementRef(t){this.element=t},contentRef(t){this.content=t},spacerRef(t){this.spacer=t}},computed:{containerClass(){return["p-virtualscroller",{"p-both-scroll":this.isBoth(),"p-horizontal-scroll":this.isHorizontal()},this.class]},loaderClass(){return["p-virtualscroller-loader",{"p-component-overlay":!this.$slots.loader}]},loadedItems(){const t=this.items;if(t&&!this.d_loading){return this.isBoth()?t.slice(this.first.rows,this.last.rows).map((t=>t.slice(this.first.cols,this.last.cols))):t.slice(this.first,this.last).map((t=>t))}return[]}}};const e=t.createVNode("i",{class:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"},null,-1);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}\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})],64)):(t.openBlock(),t.createBlock("div",{key:0,ref:r.elementRef,class:r.containerClass,style:o.style,onScroll:i[1]||(i[1]=(...t)=>r.onScroll&&r.onScroll(...t))},[t.renderSlot(s.$slots,"content",{styleClass:"p-virtualscroller-content",contentRef:r.contentRef,items:r.loadedItems,getItemOptions:r.getOptions},(()=>[t.createVNode("div",{ref:r.contentRef,class:"p-virtualscroller-content"},[(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))],512)])),t.createVNode("div",{ref:r.spacerRef,class:"p-virtualscroller-spacer"},null,512),n.d_loading?(t.openBlock(),t.createBlock("div",{key:0,class:r.loaderClass},[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(n.loaderArr,((i,o)=>t.renderSlot(s.$slots,"loader",{key:o,options:r.getLoaderOptions(o)},(()=>[e])))),128))],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-index-change","lazy-load"],props:{items:{type:Array,default:null},itemSize:{type:[Number,Array],default:null},scrollHeight:null,scrollWidth:null,orientation:{type:String,default:"vertical"},numToleratedItems:{type:Number,default:null},delay:{type:Number,default:0},lazy:{type:Boolean,default:!1},showLoader:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},style:null,class:null,disabled:{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:null}},element:null,content:null,spacer:null,scrollTimeout:null,mounted(){this.init()},watch:{numToleratedItems(t){this.d_numToleratedItems=t},loading(t){this.d_loading=t},items(t,s){s&&s.length===(t||[]).length||this.init()}},methods:{init(){this.disabled||(this.setSize(),this.calculateOptions(),this.setSpacerSize())},getLast(t,s){return this.items?Math.min(s?this.items[0].length:this.items.length,t):0},calculateOptions(){const t=this.isBoth(),s=this.isHorizontal(),e=this.first,i=this.itemSize,o=this.getContentPadding(),l=this.element?this.element.offsetWidth-o.left:0,n=this.element?this.element.offsetHeight-o.top:0,r=(t,s)=>Math.ceil(t/(s||t)),a=t?{rows:r(n,i[0]),cols:r(l,i[1])}:r(s?l:n,i);let h=this.d_numToleratedItems||Math.ceil((t?a.rows:a)/2);const c=(t,s,e)=>this.getLast(t+s+(t<h?2:3)*h,e),d=t?{rows:c(e.rows,a.rows),cols:c(e.cols,a.cols,!0)}:c(e,a);this.d_numToleratedItems=h,this.$emit("update:numToleratedItems",this.d_numToleratedItems),this.last=d,this.numItemsInViewport=a,this.showLoader&&(this.$slots&&this.$slots.loader?this.loaderArr=Array.from({length:t?a.rows:a}):this.loaderArr=Array.from({length:1})),this.lazy&&this.$emit("lazy-load",{first:e,last:d})},getContentPadding(){if(this.content){const t=getComputedStyle(this.content),s=parseInt(parseFloat(t.paddingLeft.slice(0,-2)),10),e=parseInt(parseFloat(t.paddingRight.slice(0,-2)),10),i=parseInt(parseFloat(t.paddingTop.slice(0,-2)),10),o=parseInt(parseFloat(t.paddingBottom.slice(0,-2)),10);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?(l("height",o),l("width",i)):s?l("width",i):l("height",o)}},setSpacerSize(){const t=this.items;if(this.spacer&&t){const s=this.isBoth(),e=this.isHorizontal(),i=this.itemSize,o=this.getContentPadding(),l=(t,s,e,i=0)=>this.spacer.style[t]=(s||[]).length*e+i+"px";s?(l("height",t[0],i[0],o.y),l("width",t[1],i[1],o.x)):e?l("width",t,i,o.x):l("height",t,i,o.y)}},setContentPosition(t){if(this.content){const s=this.isBoth(),e=this.isHorizontal(),i=this.content,o=t?t.first:this.first,l=this.itemSize,n=(t,s)=>t*s,r=(t=0,s=0)=>i.style.transform=`translate3d(${t}px, ${s}px, 0)`;if(s)r(n(o.cols,l[1]),n(o.rows,l[0]));else{const t=n(o,l);e?r(t,0):r(0,t)}}},onScrollPositionChange(t){const s=t.target,e=this.isBoth(),i=this.isHorizontal(),o=this.itemSize,l=this.getContentPadding(),n=(t,s)=>t?t>s?t-s:t:0,r=(t,s)=>Math.floor(t/(s||t)),a=(t,s,e,i,o)=>t<=this.d_numToleratedItems?this.d_numToleratedItems:o?e-i-this.d_numToleratedItems:s+this.d_numToleratedItems-1,h=(t,s,e,i,o,l)=>t<=this.d_numToleratedItems?0:l?t<s?e:t-this.d_numToleratedItems:t>s?e:t-2*this.d_numToleratedItems,c=(t,s,e,i,o)=>{let l=s+i+2*this.d_numToleratedItems;return t>=this.d_numToleratedItems&&(l+=this.d_numToleratedItems+1),this.getLast(l,o)},d=n(s.scrollTop,l.top),m=n(s.scrollLeft,l.left);let f=0,p=this.last,u=!1;if(e){const t=this.lastScrollPos.top<=d,s=this.lastScrollPos.left<=m,e={rows:r(d,o[0]),cols:r(m,o[1])},i={rows:a(e.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,t),cols:a(e.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,s)};f={rows:h(e.rows,i.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,t),cols:h(e.cols,i.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,s)},p={rows:c(e.rows,f.rows,this.last.rows,this.numItemsInViewport.rows),cols:c(e.cols,f.cols,this.last.cols,this.numItemsInViewport.cols,!0)},u=f.rows!==this.first.rows||f.cols!==this.first.cols||p.rows!==this.last.rows||p.cols!==this.last.cols,this.lastScrollPos={top:d,left:m}}else{const t=i?m:d,s=this.lastScrollPos<=t,e=r(t,o);f=h(e,a(e,this.first,this.last,this.numItemsInViewport,s),this.first,this.last,this.numItemsInViewport,s),p=c(e,f,this.last,this.numItemsInViewport),u=f!==this.first||p!==this.last,this.lastScrollPos=t}return{first:f,last:p,isRangeChanged:u}},onScrollChange(t){const{first:s,last:e,isRangeChanged:i}=this.onScrollPositionChange(t);if(i){const t={first:s,last:e};this.setContentPosition(t),this.lazy&&this.$emit("lazy-load",{first:s,last:e}),this.first=s,this.last=e,this.$emit("scroll-index-change",{first:s,last:e})}},onScroll(t){if(this.delay&&!this.lazy){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){let 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){let s=this.loaderArr.length;return{loading:this.d_loading,first:0===t,last:t===s-1,even:t%2==0,odd:t%2!=0}},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.itemSize,l=this.getContentPadding(),n=(t=0)=>t<=this.d_numToleratedItems?0:t,r=(t,s,e)=>t*s+e,a=(t=0,e=0)=>this.scrollTo({left:t,top:e,behavior:s});if(e){const s={rows:n(t[0]),cols:n(t[1])};s.rows===this.first.rows&&s.cols===this.first.cols||a(r(s.cols,o[1],l.left),r(s.rows,o[0],l.top))}else{const s=n(t);s!==this.first&&(i?a(r(s,o,l.left),0):a(0,r(s,o,l.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=this.itemSize,a=(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]?a(n.first.cols*r[1],(n.first.rows-1)*r[0]):n.first.cols-l.cols>t[1]&&a((n.first.cols-1)*r[1],n.first.rows*r[0]);else if(n.first-l>t){const t=(n.first-1)*r;o?a(t,0):a(0,t)}}else if(h)if(i)n.last.rows-l.rows<=t[0]+1?a(n.first.cols*r[1],(n.first.rows+1)*r[0]):n.last.cols-l.cols<=t[1]+1&&a((n.first.cols+1)*r[1],n.first.rows*r[0]);else if(n.last-l<=t+1){const t=(n.first+1)*r;o?a(t,0):a(0,t)}}else this.scrollToIndex(t,e)},getRenderedRange(){const t=this.isBoth(),s=this.isHorizontal(),e=this.itemSize,i=(t,s)=>Math.floor(t/(s||t));let o=this.first,l=0;if(this.element){const n=this.element.scrollTop,r=this.element.scrollLeft;if(t)o={rows:i(n,e[0]),cols:i(r,e[1])},l={rows:o.rows+this.numItemsInViewport.rows,cols:o.cols+this.numItemsInViewport.cols};else{o=i(s?r:n,e),l=o+this.numItemsInViewport}}return{first:this.first,last:this.last,viewport:{first:o,last:l}}},elementRef(t){this.element=t},contentRef(t){this.content=t},spacerRef(t){this.spacer=t}},computed:{containerClass(){return["p-virtualscroller",{"p-both-scroll":this.isBoth(),"p-horizontal-scroll":this.isHorizontal()},this.class]},loaderClass(){return["p-virtualscroller-loader",{"p-component-overlay":!this.$slots.loader}]},loadedItems(){const t=this.items;if(t&&!this.d_loading){return this.isBoth()?t.slice(this.first.rows,this.last.rows).map((t=>t.slice(this.first.cols,this.last.cols))):t.slice(this.first,this.last).map((t=>t))}return[]}}};const e=t.createVNode("i",{class:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"},null,-1);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}\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})],64)):(t.openBlock(),t.createBlock("div",{key:0,ref:r.elementRef,class:r.containerClass,style:o.style,onScroll:i[1]||(i[1]=(...t)=>r.onScroll&&r.onScroll(...t))},[t.renderSlot(s.$slots,"content",{styleClass:"p-virtualscroller-content",contentRef:r.contentRef,items:r.loadedItems,getItemOptions:r.getOptions},(()=>[t.createVNode("div",{ref:r.contentRef,class:"p-virtualscroller-content"},[(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))],512)])),t.createVNode("div",{ref:r.spacerRef,class:"p-virtualscroller-spacer"},null,512),n.d_loading?(t.openBlock(),t.createBlock("div",{key:0,class:r.loaderClass},[(t.openBlock(!0),t.createBlock(t.Fragment,null,t.renderList(n.loaderArr,((i,o)=>t.renderSlot(s.$slots,"loader",{key:o,options:r.getLoaderOptions(o)},(()=>[e])))),128))],2)):t.createCommentVNode("",!0)],38))},s}(Vue);