primevue 3.26.1 → 3.28.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 (1142) hide show
  1. package/README.md +5 -9
  2. package/accordion/Accordion.d.ts +46 -2
  3. package/accordion/Accordion.vue +29 -13
  4. package/accordion/accordion.cjs.js +60 -33
  5. package/accordion/accordion.cjs.min.js +1 -1
  6. package/accordion/accordion.esm.js +58 -34
  7. package/accordion/accordion.esm.min.js +1 -1
  8. package/accordion/accordion.js +59 -35
  9. package/accordion/accordion.min.js +1 -1
  10. package/accordiontab/AccordionTab.d.ts +76 -1
  11. package/accordiontab/AccordionTab.vue +3 -0
  12. package/accordiontab/accordiontab.cjs.js +6 -0
  13. package/accordiontab/accordiontab.cjs.min.js +1 -1
  14. package/accordiontab/accordiontab.esm.js +2 -0
  15. package/accordiontab/accordiontab.esm.min.js +1 -1
  16. package/accordiontab/accordiontab.js +7 -2
  17. package/accordiontab/accordiontab.min.js +1 -1
  18. package/autocomplete/AutoComplete.d.ts +24 -3
  19. package/autocomplete/AutoComplete.vue +25 -10
  20. package/autocomplete/autocomplete.cjs.js +65 -36
  21. package/autocomplete/autocomplete.cjs.min.js +1 -1
  22. package/autocomplete/autocomplete.esm.js +63 -37
  23. package/autocomplete/autocomplete.esm.min.js +1 -1
  24. package/autocomplete/autocomplete.js +64 -38
  25. package/autocomplete/autocomplete.min.js +1 -1
  26. package/avatar/Avatar.d.ts +49 -0
  27. package/avatar/Avatar.vue +8 -7
  28. package/avatar/avatar.cjs.js +31 -24
  29. package/avatar/avatar.cjs.min.js +1 -1
  30. package/avatar/avatar.esm.js +28 -25
  31. package/avatar/avatar.esm.min.js +1 -1
  32. package/avatar/avatar.js +32 -26
  33. package/avatar/avatar.min.js +1 -1
  34. package/avatargroup/AvatarGroup.d.ts +27 -1
  35. package/avatargroup/AvatarGroup.vue +5 -2
  36. package/avatargroup/avatargroup.cjs.js +9 -5
  37. package/avatargroup/avatargroup.cjs.min.js +1 -1
  38. package/avatargroup/avatargroup.esm.js +6 -6
  39. package/avatargroup/avatargroup.esm.min.js +1 -1
  40. package/avatargroup/avatargroup.js +10 -7
  41. package/avatargroup/avatargroup.min.js +1 -1
  42. package/badge/Badge.d.ts +32 -0
  43. package/badge/Badge.vue +3 -1
  44. package/badge/badge.cjs.js +8 -4
  45. package/badge/badge.cjs.min.js +1 -1
  46. package/badge/badge.esm.js +5 -5
  47. package/badge/badge.esm.min.js +1 -1
  48. package/badge/badge.js +9 -6
  49. package/badge/badge.min.js +1 -1
  50. package/basecomponent/BaseComponent.vue +33 -0
  51. package/basecomponent/basecomponent.cjs.js +35 -0
  52. package/basecomponent/basecomponent.cjs.min.js +1 -0
  53. package/basecomponent/basecomponent.esm.js +33 -0
  54. package/basecomponent/basecomponent.esm.min.js +1 -0
  55. package/basecomponent/basecomponent.js +37 -0
  56. package/basecomponent/basecomponent.min.js +1 -0
  57. package/basecomponent/package.json +8 -0
  58. package/baseicon/BaseIcon.vue +66 -0
  59. package/baseicon/baseicon.cjs.js +66 -0
  60. package/baseicon/baseicon.cjs.min.js +1 -0
  61. package/baseicon/baseicon.esm.js +64 -0
  62. package/baseicon/baseicon.esm.min.js +1 -0
  63. package/baseicon/baseicon.js +68 -0
  64. package/baseicon/baseicon.min.js +1 -0
  65. package/baseicon/package.json +8 -0
  66. package/blockui/BlockUI.d.ts +44 -0
  67. package/blockui/BlockUI.vue +3 -1
  68. package/blockui/blockui.cjs.js +9 -3
  69. package/blockui/blockui.cjs.min.js +1 -1
  70. package/blockui/blockui.esm.js +6 -4
  71. package/blockui/blockui.esm.min.js +1 -1
  72. package/blockui/blockui.js +10 -5
  73. package/blockui/blockui.min.js +1 -1
  74. package/breadcrumb/Breadcrumb.d.ts +78 -0
  75. package/breadcrumb/Breadcrumb.vue +13 -7
  76. package/breadcrumb/BreadcrumbItem.vue +17 -16
  77. package/breadcrumb/breadcrumb.cjs.js +82 -69
  78. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  79. package/breadcrumb/breadcrumb.esm.js +78 -70
  80. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  81. package/breadcrumb/breadcrumb.js +82 -71
  82. package/breadcrumb/breadcrumb.min.js +1 -1
  83. package/button/Button.d.ts +68 -1
  84. package/button/Button.vue +25 -9
  85. package/button/button.cjs.js +50 -22
  86. package/button/button.cjs.min.js +1 -1
  87. package/button/button.esm.js +49 -23
  88. package/button/button.esm.min.js +1 -1
  89. package/button/button.js +50 -24
  90. package/button/button.min.js +1 -1
  91. package/calendar/Calendar.d.ts +25 -5
  92. package/calendar/Calendar.vue +56 -23
  93. package/calendar/calendar.cjs.js +84 -43
  94. package/calendar/calendar.cjs.min.js +1 -1
  95. package/calendar/calendar.esm.js +80 -44
  96. package/calendar/calendar.esm.min.js +1 -1
  97. package/calendar/calendar.js +81 -45
  98. package/calendar/calendar.min.js +1 -1
  99. package/card/Card.d.ts +51 -1
  100. package/card/Card.vue +15 -14
  101. package/card/card.cjs.js +33 -65
  102. package/card/card.cjs.min.js +1 -1
  103. package/card/card.esm.js +30 -66
  104. package/card/card.esm.min.js +1 -1
  105. package/card/card.js +34 -67
  106. package/card/card.min.js +1 -1
  107. package/carousel/Carousel.d.ts +8 -0
  108. package/carousel/Carousel.vue +16 -2
  109. package/carousel/carousel.cjs.js +20 -6
  110. package/carousel/carousel.cjs.min.js +1 -1
  111. package/carousel/carousel.esm.js +17 -7
  112. package/carousel/carousel.esm.min.js +1 -1
  113. package/carousel/carousel.js +18 -8
  114. package/carousel/carousel.min.js +1 -1
  115. package/cascadeselect/CascadeSelect.d.ts +16 -3
  116. package/cascadeselect/CascadeSelect.vue +16 -9
  117. package/cascadeselect/CascadeSelectSub.vue +10 -1
  118. package/cascadeselect/cascadeselect.cjs.js +46 -14
  119. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  120. package/cascadeselect/cascadeselect.esm.js +43 -14
  121. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  122. package/cascadeselect/cascadeselect.js +45 -16
  123. package/cascadeselect/cascadeselect.min.js +1 -1
  124. package/chart/Chart.d.ts +36 -0
  125. package/chart/Chart.vue +5 -2
  126. package/chart/chart.cjs.js +10 -5
  127. package/chart/chart.cjs.min.js +1 -1
  128. package/chart/chart.esm.js +7 -6
  129. package/chart/chart.esm.min.js +1 -1
  130. package/chart/chart.js +11 -7
  131. package/chart/chart.min.js +1 -1
  132. package/checkbox/Checkbox.d.ts +13 -2
  133. package/checkbox/Checkbox.vue +7 -1
  134. package/checkbox/checkbox.cjs.js +11 -3
  135. package/checkbox/checkbox.cjs.min.js +1 -1
  136. package/checkbox/checkbox.esm.js +8 -4
  137. package/checkbox/checkbox.esm.min.js +1 -1
  138. package/checkbox/checkbox.js +12 -5
  139. package/checkbox/checkbox.min.js +1 -1
  140. package/chip/Chip.d.ts +80 -1
  141. package/chip/Chip.vue +16 -12
  142. package/chip/chip.cjs.js +43 -29
  143. package/chip/chip.cjs.min.js +1 -1
  144. package/chip/chip.esm.js +39 -30
  145. package/chip/chip.esm.min.js +1 -1
  146. package/chip/chip.js +43 -31
  147. package/chip/chip.min.js +1 -1
  148. package/chips/Chips.d.ts +12 -1
  149. package/chips/Chips.vue +8 -2
  150. package/chips/chips.cjs.js +22 -11
  151. package/chips/chips.cjs.min.js +1 -1
  152. package/chips/chips.esm.js +19 -12
  153. package/chips/chips.esm.min.js +1 -1
  154. package/chips/chips.js +23 -13
  155. package/chips/chips.min.js +1 -1
  156. package/column/Column.d.ts +77 -1
  157. package/column/Column.vue +1 -1
  158. package/column/column.cjs.js +1 -1
  159. package/column/column.cjs.min.js +1 -1
  160. package/column/column.esm.js +1 -1
  161. package/column/column.esm.min.js +1 -1
  162. package/column/column.js +1 -1
  163. package/column/column.min.js +1 -1
  164. package/config/PrimeVue.d.ts +8 -0
  165. package/config/config.cjs.js +3 -1
  166. package/config/config.cjs.min.js +1 -1
  167. package/config/config.esm.js +3 -2
  168. package/config/config.esm.min.js +1 -1
  169. package/config/config.js +3 -1
  170. package/config/config.min.js +1 -1
  171. package/confirmdialog/ConfirmDialog.d.ts +111 -1
  172. package/confirmdialog/ConfirmDialog.vue +22 -4
  173. package/confirmdialog/confirmdialog.cjs.js +47 -18
  174. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  175. package/confirmdialog/confirmdialog.esm.js +47 -19
  176. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  177. package/confirmdialog/confirmdialog.js +48 -20
  178. package/confirmdialog/confirmdialog.min.js +1 -1
  179. package/confirmpopup/ConfirmPopup.d.ts +98 -1
  180. package/confirmpopup/ConfirmPopup.vue +24 -7
  181. package/confirmpopup/confirmpopup.cjs.js +51 -23
  182. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  183. package/confirmpopup/confirmpopup.esm.js +51 -24
  184. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  185. package/confirmpopup/confirmpopup.js +52 -25
  186. package/confirmpopup/confirmpopup.min.js +1 -1
  187. package/contextmenu/ContextMenu.d.ts +158 -0
  188. package/contextmenu/ContextMenu.vue +5 -2
  189. package/contextmenu/ContextMenuSub.vue +60 -15
  190. package/contextmenu/contextmenu.cjs.js +93 -57
  191. package/contextmenu/contextmenu.cjs.min.js +1 -1
  192. package/contextmenu/contextmenu.esm.js +92 -58
  193. package/contextmenu/contextmenu.esm.min.js +1 -1
  194. package/contextmenu/contextmenu.js +93 -59
  195. package/contextmenu/contextmenu.min.js +1 -1
  196. package/core/core.js +2825 -424
  197. package/core/core.min.js +108 -14
  198. package/datatable/BodyCell.vue +44 -13
  199. package/datatable/ColumnFilter.vue +59 -17
  200. package/datatable/DataTable.d.ts +41 -3
  201. package/datatable/DataTable.vue +46 -10
  202. package/datatable/FooterCell.vue +1 -1
  203. package/datatable/HeaderCell.vue +36 -15
  204. package/datatable/HeaderCheckbox.vue +11 -2
  205. package/datatable/RowCheckbox.vue +11 -2
  206. package/datatable/TableBody.vue +15 -13
  207. package/datatable/TableFooter.vue +1 -1
  208. package/datatable/TableHeader.vue +10 -0
  209. package/datatable/datatable.cjs.js +424 -139
  210. package/datatable/datatable.cjs.min.js +1 -1
  211. package/datatable/datatable.esm.js +409 -140
  212. package/datatable/datatable.esm.min.js +1 -1
  213. package/datatable/datatable.js +410 -141
  214. package/datatable/datatable.min.js +1 -1
  215. package/dataviewlayoutoptions/DataViewLayoutOptions.d.ts +12 -2
  216. package/dataviewlayoutoptions/DataViewLayoutOptions.vue +13 -2
  217. package/dataviewlayoutoptions/dataviewlayoutoptions.cjs.js +25 -11
  218. package/dataviewlayoutoptions/dataviewlayoutoptions.cjs.min.js +1 -1
  219. package/dataviewlayoutoptions/dataviewlayoutoptions.esm.js +21 -12
  220. package/dataviewlayoutoptions/dataviewlayoutoptions.esm.min.js +1 -1
  221. package/dataviewlayoutoptions/dataviewlayoutoptions.js +25 -13
  222. package/dataviewlayoutoptions/dataviewlayoutoptions.min.js +1 -1
  223. package/deferredcontent/DeferredContent.d.ts +49 -1
  224. package/deferredcontent/DeferredContent.vue +4 -1
  225. package/deferredcontent/deferredcontent.cjs.js +8 -4
  226. package/deferredcontent/deferredcontent.cjs.min.js +1 -1
  227. package/deferredcontent/deferredcontent.esm.js +5 -5
  228. package/deferredcontent/deferredcontent.esm.min.js +1 -1
  229. package/deferredcontent/deferredcontent.js +9 -6
  230. package/deferredcontent/deferredcontent.min.js +1 -1
  231. package/dialog/Dialog.d.ts +105 -4
  232. package/dialog/Dialog.vue +43 -21
  233. package/dialog/dialog.cjs.js +54 -41
  234. package/dialog/dialog.cjs.min.js +1 -1
  235. package/dialog/dialog.esm.js +51 -42
  236. package/dialog/dialog.esm.min.js +1 -1
  237. package/dialog/dialog.js +52 -43
  238. package/dialog/dialog.min.js +1 -1
  239. package/divider/Divider.d.ts +36 -0
  240. package/divider/Divider.vue +5 -2
  241. package/divider/divider.cjs.js +15 -10
  242. package/divider/divider.cjs.min.js +1 -1
  243. package/divider/divider.esm.js +12 -11
  244. package/divider/divider.esm.min.js +1 -1
  245. package/divider/divider.js +16 -12
  246. package/divider/divider.min.js +1 -1
  247. package/dock/Dock.d.ts +94 -0
  248. package/dock/Dock.vue +4 -2
  249. package/dock/DockSub.vue +30 -6
  250. package/dock/dock.cjs.js +52 -39
  251. package/dock/dock.cjs.min.js +1 -1
  252. package/dock/dock.esm.js +52 -40
  253. package/dock/dock.esm.min.js +1 -1
  254. package/dock/dock.js +53 -41
  255. package/dock/dock.min.js +1 -1
  256. package/dropdown/Dropdown.d.ts +40 -4
  257. package/dropdown/Dropdown.vue +26 -13
  258. package/dropdown/dropdown.cjs.js +68 -31
  259. package/dropdown/dropdown.cjs.min.js +1 -1
  260. package/dropdown/dropdown.esm.js +65 -32
  261. package/dropdown/dropdown.esm.min.js +1 -1
  262. package/dropdown/dropdown.js +66 -33
  263. package/dropdown/dropdown.min.js +1 -1
  264. package/dynamicdialog/DynamicDialog.vue +3 -1
  265. package/dynamicdialog/dynamicdialog.cjs.js +5 -1
  266. package/dynamicdialog/dynamicdialog.cjs.min.js +1 -1
  267. package/dynamicdialog/dynamicdialog.esm.js +4 -1
  268. package/dynamicdialog/dynamicdialog.esm.min.js +1 -1
  269. package/dynamicdialog/dynamicdialog.js +6 -3
  270. package/dynamicdialog/dynamicdialog.min.js +1 -1
  271. package/fieldset/Fieldset.d.ts +73 -0
  272. package/fieldset/Fieldset.vue +18 -17
  273. package/fieldset/fieldset.cjs.js +33 -34
  274. package/fieldset/fieldset.cjs.min.js +1 -1
  275. package/fieldset/fieldset.esm.js +31 -35
  276. package/fieldset/fieldset.esm.min.js +1 -1
  277. package/fieldset/fieldset.js +32 -36
  278. package/fieldset/fieldset.min.js +1 -1
  279. package/fileupload/FileContent.vue +22 -9
  280. package/fileupload/FileUpload.d.ts +182 -3
  281. package/fileupload/FileUpload.vue +52 -31
  282. package/fileupload/fileupload.cjs.js +163 -100
  283. package/fileupload/fileupload.cjs.min.js +1 -1
  284. package/fileupload/fileupload.esm.js +160 -101
  285. package/fileupload/fileupload.esm.min.js +1 -1
  286. package/fileupload/fileupload.js +161 -102
  287. package/fileupload/fileupload.min.js +1 -1
  288. package/galleria/Galleria.d.ts +20 -0
  289. package/galleria/Galleria.vue +2 -2
  290. package/galleria/GalleriaContent.vue +7 -2
  291. package/galleria/GalleriaItem.vue +8 -2
  292. package/galleria/GalleriaThumbnails.vue +12 -20
  293. package/galleria/galleria.cjs.js +60 -64
  294. package/galleria/galleria.cjs.min.js +1 -1
  295. package/galleria/galleria.esm.js +56 -65
  296. package/galleria/galleria.esm.min.js +1 -1
  297. package/galleria/galleria.js +57 -66
  298. package/galleria/galleria.min.js +1 -1
  299. package/icons/angledoubledown/index.cjs.js +37 -0
  300. package/icons/angledoubledown/index.cjs.min.js +1 -0
  301. package/icons/angledoubledown/index.d.ts +12 -0
  302. package/icons/angledoubledown/index.esm.js +31 -0
  303. package/icons/angledoubledown/index.esm.min.js +1 -0
  304. package/icons/angledoubledown/index.js +39 -0
  305. package/icons/angledoubledown/index.min.js +1 -0
  306. package/icons/angledoubledown/index.vue +18 -0
  307. package/icons/angledoubledown/package.json +9 -0
  308. package/icons/angledoubleleft/index.cjs.js +37 -0
  309. package/icons/angledoubleleft/index.cjs.min.js +1 -0
  310. package/icons/angledoubleleft/index.d.ts +12 -0
  311. package/icons/angledoubleleft/index.esm.js +31 -0
  312. package/icons/angledoubleleft/index.esm.min.js +1 -0
  313. package/icons/angledoubleleft/index.js +39 -0
  314. package/icons/angledoubleleft/index.min.js +1 -0
  315. package/icons/angledoubleleft/index.vue +18 -0
  316. package/icons/angledoubleleft/package.json +9 -0
  317. package/icons/angledoubleright/index.cjs.js +37 -0
  318. package/icons/angledoubleright/index.cjs.min.js +1 -0
  319. package/icons/angledoubleright/index.d.ts +12 -0
  320. package/icons/angledoubleright/index.esm.js +31 -0
  321. package/icons/angledoubleright/index.esm.min.js +1 -0
  322. package/icons/angledoubleright/index.js +39 -0
  323. package/icons/angledoubleright/index.min.js +1 -0
  324. package/icons/angledoubleright/index.vue +18 -0
  325. package/icons/angledoubleright/package.json +9 -0
  326. package/icons/angledoubleup/index.cjs.js +37 -0
  327. package/icons/angledoubleup/index.cjs.min.js +1 -0
  328. package/icons/angledoubleup/index.d.ts +12 -0
  329. package/icons/angledoubleup/index.esm.js +31 -0
  330. package/icons/angledoubleup/index.esm.min.js +1 -0
  331. package/icons/angledoubleup/index.js +39 -0
  332. package/icons/angledoubleup/index.min.js +1 -0
  333. package/icons/angledoubleup/index.vue +18 -0
  334. package/icons/angledoubleup/package.json +9 -0
  335. package/icons/angledown/index.cjs.js +35 -0
  336. package/icons/angledown/index.cjs.min.js +1 -0
  337. package/icons/angledown/index.d.ts +12 -0
  338. package/icons/angledown/index.esm.js +29 -0
  339. package/icons/angledown/index.esm.min.js +1 -0
  340. package/icons/angledown/index.js +37 -0
  341. package/icons/angledown/index.min.js +1 -0
  342. package/icons/angledown/index.vue +16 -0
  343. package/icons/angledown/package.json +9 -0
  344. package/icons/angleleft/index.cjs.js +35 -0
  345. package/icons/angleleft/index.cjs.min.js +1 -0
  346. package/icons/angleleft/index.d.ts +12 -0
  347. package/icons/angleleft/index.esm.js +29 -0
  348. package/icons/angleleft/index.esm.min.js +1 -0
  349. package/icons/angleleft/index.js +37 -0
  350. package/icons/angleleft/index.min.js +1 -0
  351. package/icons/angleleft/index.vue +16 -0
  352. package/icons/angleleft/package.json +9 -0
  353. package/icons/angleright/index.cjs.js +35 -0
  354. package/icons/angleright/index.cjs.min.js +1 -0
  355. package/icons/angleright/index.d.ts +12 -0
  356. package/icons/angleright/index.esm.js +29 -0
  357. package/icons/angleright/index.esm.min.js +1 -0
  358. package/icons/angleright/index.js +37 -0
  359. package/icons/angleright/index.min.js +1 -0
  360. package/icons/angleright/index.vue +16 -0
  361. package/icons/angleright/package.json +9 -0
  362. package/icons/angleup/index.cjs.js +35 -0
  363. package/icons/angleup/index.cjs.min.js +1 -0
  364. package/icons/angleup/index.d.ts +12 -0
  365. package/icons/angleup/index.esm.js +29 -0
  366. package/icons/angleup/index.esm.min.js +1 -0
  367. package/icons/angleup/index.js +37 -0
  368. package/icons/angleup/index.min.js +1 -0
  369. package/icons/angleup/index.vue +16 -0
  370. package/icons/angleup/package.json +9 -0
  371. package/icons/arrowdown/index.cjs.js +49 -0
  372. package/icons/arrowdown/index.cjs.min.js +1 -0
  373. package/icons/arrowdown/index.d.ts +12 -0
  374. package/icons/arrowdown/index.esm.js +43 -0
  375. package/icons/arrowdown/index.esm.min.js +1 -0
  376. package/icons/arrowdown/index.js +51 -0
  377. package/icons/arrowdown/index.min.js +1 -0
  378. package/icons/arrowdown/index.vue +25 -0
  379. package/icons/arrowdown/package.json +9 -0
  380. package/icons/arrowup/index.cjs.js +49 -0
  381. package/icons/arrowup/index.cjs.min.js +1 -0
  382. package/icons/arrowup/index.d.ts +12 -0
  383. package/icons/arrowup/index.esm.js +43 -0
  384. package/icons/arrowup/index.esm.min.js +1 -0
  385. package/icons/arrowup/index.js +51 -0
  386. package/icons/arrowup/index.min.js +1 -0
  387. package/icons/arrowup/index.vue +25 -0
  388. package/icons/arrowup/package.json +9 -0
  389. package/icons/ban/index.cjs.js +47 -0
  390. package/icons/ban/index.cjs.min.js +1 -0
  391. package/icons/ban/index.d.ts +12 -0
  392. package/icons/ban/index.esm.js +41 -0
  393. package/icons/ban/index.esm.min.js +1 -0
  394. package/icons/ban/index.js +49 -0
  395. package/icons/ban/index.min.js +1 -0
  396. package/icons/ban/index.vue +23 -0
  397. package/icons/ban/package.json +9 -0
  398. package/icons/bars/index.cjs.js +37 -0
  399. package/icons/bars/index.cjs.min.js +1 -0
  400. package/icons/bars/index.d.ts +12 -0
  401. package/icons/bars/index.esm.js +31 -0
  402. package/icons/bars/index.esm.min.js +1 -0
  403. package/icons/bars/index.js +39 -0
  404. package/icons/bars/index.min.js +1 -0
  405. package/icons/bars/index.vue +18 -0
  406. package/icons/bars/package.json +9 -0
  407. package/icons/calendar/index.cjs.js +35 -0
  408. package/icons/calendar/index.cjs.min.js +1 -0
  409. package/icons/calendar/index.d.ts +12 -0
  410. package/icons/calendar/index.esm.js +29 -0
  411. package/icons/calendar/index.esm.min.js +1 -0
  412. package/icons/calendar/index.js +37 -0
  413. package/icons/calendar/index.min.js +1 -0
  414. package/icons/calendar/index.vue +16 -0
  415. package/icons/calendar/package.json +9 -0
  416. package/icons/check/index.cjs.js +35 -0
  417. package/icons/check/index.cjs.min.js +1 -0
  418. package/icons/check/index.d.ts +12 -0
  419. package/icons/check/index.esm.js +29 -0
  420. package/icons/check/index.esm.min.js +1 -0
  421. package/icons/check/index.js +37 -0
  422. package/icons/check/index.min.js +1 -0
  423. package/icons/check/index.vue +16 -0
  424. package/icons/check/package.json +9 -0
  425. package/icons/chevrondown/index.cjs.js +35 -0
  426. package/icons/chevrondown/index.cjs.min.js +1 -0
  427. package/icons/chevrondown/index.d.ts +12 -0
  428. package/icons/chevrondown/index.esm.js +29 -0
  429. package/icons/chevrondown/index.esm.min.js +1 -0
  430. package/icons/chevrondown/index.js +37 -0
  431. package/icons/chevrondown/index.min.js +1 -0
  432. package/icons/chevrondown/index.vue +16 -0
  433. package/icons/chevrondown/package.json +9 -0
  434. package/icons/chevronleft/index.cjs.js +35 -0
  435. package/icons/chevronleft/index.cjs.min.js +1 -0
  436. package/icons/chevronleft/index.d.ts +12 -0
  437. package/icons/chevronleft/index.esm.js +29 -0
  438. package/icons/chevronleft/index.esm.min.js +1 -0
  439. package/icons/chevronleft/index.js +37 -0
  440. package/icons/chevronleft/index.min.js +1 -0
  441. package/icons/chevronleft/index.vue +16 -0
  442. package/icons/chevronleft/package.json +9 -0
  443. package/icons/chevronright/index.cjs.js +35 -0
  444. package/icons/chevronright/index.cjs.min.js +1 -0
  445. package/icons/chevronright/index.d.ts +12 -0
  446. package/icons/chevronright/index.esm.js +29 -0
  447. package/icons/chevronright/index.esm.min.js +1 -0
  448. package/icons/chevronright/index.js +37 -0
  449. package/icons/chevronright/index.min.js +1 -0
  450. package/icons/chevronright/index.vue +16 -0
  451. package/icons/chevronright/package.json +9 -0
  452. package/icons/chevronup/index.cjs.js +35 -0
  453. package/icons/chevronup/index.cjs.min.js +1 -0
  454. package/icons/chevronup/index.d.ts +12 -0
  455. package/icons/chevronup/index.esm.js +29 -0
  456. package/icons/chevronup/index.esm.min.js +1 -0
  457. package/icons/chevronup/index.js +37 -0
  458. package/icons/chevronup/index.min.js +1 -0
  459. package/icons/chevronup/index.vue +16 -0
  460. package/icons/chevronup/package.json +9 -0
  461. package/icons/exclamationtriangle/index.cjs.js +32 -0
  462. package/icons/exclamationtriangle/index.cjs.min.js +1 -0
  463. package/icons/exclamationtriangle/index.d.ts +12 -0
  464. package/icons/exclamationtriangle/index.esm.js +26 -0
  465. package/icons/exclamationtriangle/index.esm.min.js +1 -0
  466. package/icons/exclamationtriangle/index.js +34 -0
  467. package/icons/exclamationtriangle/index.min.js +1 -0
  468. package/icons/exclamationtriangle/index.vue +31 -0
  469. package/icons/exclamationtriangle/package.json +9 -0
  470. package/icons/eye/index.cjs.js +37 -0
  471. package/icons/eye/index.cjs.min.js +1 -0
  472. package/icons/eye/index.d.ts +12 -0
  473. package/icons/eye/index.esm.js +31 -0
  474. package/icons/eye/index.esm.min.js +1 -0
  475. package/icons/eye/index.js +39 -0
  476. package/icons/eye/index.min.js +1 -0
  477. package/icons/eye/index.vue +18 -0
  478. package/icons/eye/package.json +9 -0
  479. package/icons/eyeslash/index.cjs.js +49 -0
  480. package/icons/eyeslash/index.cjs.min.js +1 -0
  481. package/icons/eyeslash/index.d.ts +12 -0
  482. package/icons/eyeslash/index.esm.js +43 -0
  483. package/icons/eyeslash/index.esm.min.js +1 -0
  484. package/icons/eyeslash/index.js +51 -0
  485. package/icons/eyeslash/index.min.js +1 -0
  486. package/icons/eyeslash/index.vue +25 -0
  487. package/icons/eyeslash/package.json +9 -0
  488. package/icons/filter/index.cjs.js +47 -0
  489. package/icons/filter/index.cjs.min.js +1 -0
  490. package/icons/filter/index.d.ts +12 -0
  491. package/icons/filter/index.esm.js +41 -0
  492. package/icons/filter/index.esm.min.js +1 -0
  493. package/icons/filter/index.js +49 -0
  494. package/icons/filter/index.min.js +1 -0
  495. package/icons/filter/index.vue +23 -0
  496. package/icons/filter/package.json +9 -0
  497. package/icons/filterslash/index.cjs.js +49 -0
  498. package/icons/filterslash/index.cjs.min.js +1 -0
  499. package/icons/filterslash/index.d.ts +12 -0
  500. package/icons/filterslash/index.esm.js +43 -0
  501. package/icons/filterslash/index.esm.min.js +1 -0
  502. package/icons/filterslash/index.js +51 -0
  503. package/icons/filterslash/index.min.js +1 -0
  504. package/icons/filterslash/index.vue +25 -0
  505. package/icons/filterslash/package.json +9 -0
  506. package/icons/index.d.ts +12 -0
  507. package/icons/infocircle/index.cjs.js +49 -0
  508. package/icons/infocircle/index.cjs.min.js +1 -0
  509. package/icons/infocircle/index.d.ts +12 -0
  510. package/icons/infocircle/index.esm.js +43 -0
  511. package/icons/infocircle/index.esm.min.js +1 -0
  512. package/icons/infocircle/index.js +51 -0
  513. package/icons/infocircle/index.min.js +1 -0
  514. package/icons/infocircle/index.vue +25 -0
  515. package/icons/infocircle/package.json +9 -0
  516. package/icons/minus/index.cjs.js +35 -0
  517. package/icons/minus/index.cjs.min.js +1 -0
  518. package/icons/minus/index.d.ts +12 -0
  519. package/icons/minus/index.esm.js +29 -0
  520. package/icons/minus/index.esm.min.js +1 -0
  521. package/icons/minus/index.js +37 -0
  522. package/icons/minus/index.min.js +1 -0
  523. package/icons/minus/index.vue +16 -0
  524. package/icons/minus/package.json +9 -0
  525. package/icons/pencil/index.cjs.js +47 -0
  526. package/icons/pencil/index.cjs.min.js +1 -0
  527. package/icons/pencil/index.d.ts +12 -0
  528. package/icons/pencil/index.esm.js +41 -0
  529. package/icons/pencil/index.esm.min.js +1 -0
  530. package/icons/pencil/index.js +49 -0
  531. package/icons/pencil/index.min.js +1 -0
  532. package/icons/pencil/index.vue +23 -0
  533. package/icons/pencil/package.json +9 -0
  534. package/icons/plus/index.cjs.js +47 -0
  535. package/icons/plus/index.cjs.min.js +1 -0
  536. package/icons/plus/index.d.ts +12 -0
  537. package/icons/plus/index.esm.js +41 -0
  538. package/icons/plus/index.esm.min.js +1 -0
  539. package/icons/plus/index.js +49 -0
  540. package/icons/plus/index.min.js +1 -0
  541. package/icons/plus/index.vue +23 -0
  542. package/icons/plus/package.json +9 -0
  543. package/icons/refresh/index.cjs.js +49 -0
  544. package/icons/refresh/index.cjs.min.js +1 -0
  545. package/icons/refresh/index.d.ts +12 -0
  546. package/icons/refresh/index.esm.js +43 -0
  547. package/icons/refresh/index.esm.min.js +1 -0
  548. package/icons/refresh/index.js +51 -0
  549. package/icons/refresh/index.min.js +1 -0
  550. package/icons/refresh/index.vue +25 -0
  551. package/icons/refresh/package.json +9 -0
  552. package/icons/search/index.cjs.js +49 -0
  553. package/icons/search/index.cjs.min.js +1 -0
  554. package/icons/search/index.d.ts +12 -0
  555. package/icons/search/index.esm.js +43 -0
  556. package/icons/search/index.esm.min.js +1 -0
  557. package/icons/search/index.js +51 -0
  558. package/icons/search/index.min.js +1 -0
  559. package/icons/search/index.vue +25 -0
  560. package/icons/search/package.json +9 -0
  561. package/icons/searchminus/index.cjs.js +49 -0
  562. package/icons/searchminus/index.cjs.min.js +1 -0
  563. package/icons/searchminus/index.d.ts +12 -0
  564. package/icons/searchminus/index.esm.js +43 -0
  565. package/icons/searchminus/index.esm.min.js +1 -0
  566. package/icons/searchminus/index.js +51 -0
  567. package/icons/searchminus/index.min.js +1 -0
  568. package/icons/searchminus/index.vue +25 -0
  569. package/icons/searchminus/package.json +9 -0
  570. package/icons/searchplus/index.cjs.js +49 -0
  571. package/icons/searchplus/index.cjs.min.js +1 -0
  572. package/icons/searchplus/index.d.ts +12 -0
  573. package/icons/searchplus/index.esm.js +43 -0
  574. package/icons/searchplus/index.esm.min.js +1 -0
  575. package/icons/searchplus/index.js +51 -0
  576. package/icons/searchplus/index.min.js +1 -0
  577. package/icons/searchplus/index.vue +25 -0
  578. package/icons/searchplus/package.json +9 -0
  579. package/icons/sortalt/index.cjs.js +32 -0
  580. package/icons/sortalt/index.cjs.min.js +1 -0
  581. package/icons/sortalt/index.d.ts +12 -0
  582. package/icons/sortalt/index.esm.js +26 -0
  583. package/icons/sortalt/index.esm.min.js +1 -0
  584. package/icons/sortalt/index.js +34 -0
  585. package/icons/sortalt/index.min.js +1 -0
  586. package/icons/sortalt/index.vue +29 -0
  587. package/icons/sortalt/package.json +9 -0
  588. package/icons/sortamountdown/index.cjs.js +32 -0
  589. package/icons/sortamountdown/index.cjs.min.js +1 -0
  590. package/icons/sortamountdown/index.d.ts +12 -0
  591. package/icons/sortamountdown/index.esm.js +26 -0
  592. package/icons/sortamountdown/index.esm.min.js +1 -0
  593. package/icons/sortamountdown/index.js +34 -0
  594. package/icons/sortamountdown/index.min.js +1 -0
  595. package/icons/sortamountdown/index.vue +43 -0
  596. package/icons/sortamountdown/package.json +9 -0
  597. package/icons/sortamountupalt/index.cjs.js +32 -0
  598. package/icons/sortamountupalt/index.cjs.min.js +1 -0
  599. package/icons/sortamountupalt/index.d.ts +12 -0
  600. package/icons/sortamountupalt/index.esm.js +26 -0
  601. package/icons/sortamountupalt/index.esm.min.js +1 -0
  602. package/icons/sortamountupalt/index.js +34 -0
  603. package/icons/sortamountupalt/index.min.js +1 -0
  604. package/icons/sortamountupalt/index.vue +43 -0
  605. package/icons/sortamountupalt/package.json +9 -0
  606. package/icons/spinner/index.cjs.js +47 -0
  607. package/icons/spinner/index.cjs.min.js +1 -0
  608. package/icons/spinner/index.d.ts +12 -0
  609. package/icons/spinner/index.esm.js +41 -0
  610. package/icons/spinner/index.esm.min.js +1 -0
  611. package/icons/spinner/index.js +49 -0
  612. package/icons/spinner/index.min.js +1 -0
  613. package/icons/spinner/index.vue +23 -0
  614. package/icons/spinner/package.json +9 -0
  615. package/icons/star/index.cjs.js +47 -0
  616. package/icons/star/index.cjs.min.js +1 -0
  617. package/icons/star/index.d.ts +12 -0
  618. package/icons/star/index.esm.js +41 -0
  619. package/icons/star/index.esm.min.js +1 -0
  620. package/icons/star/index.js +49 -0
  621. package/icons/star/index.min.js +1 -0
  622. package/icons/star/index.vue +23 -0
  623. package/icons/star/package.json +9 -0
  624. package/icons/starfill/index.cjs.js +47 -0
  625. package/icons/starfill/index.cjs.min.js +1 -0
  626. package/icons/starfill/index.d.ts +12 -0
  627. package/icons/starfill/index.esm.js +41 -0
  628. package/icons/starfill/index.esm.min.js +1 -0
  629. package/icons/starfill/index.js +49 -0
  630. package/icons/starfill/index.min.js +1 -0
  631. package/icons/starfill/index.vue +23 -0
  632. package/icons/starfill/package.json +9 -0
  633. package/icons/thlarge/index.cjs.js +49 -0
  634. package/icons/thlarge/index.cjs.min.js +1 -0
  635. package/icons/thlarge/index.d.ts +12 -0
  636. package/icons/thlarge/index.esm.js +43 -0
  637. package/icons/thlarge/index.esm.min.js +1 -0
  638. package/icons/thlarge/index.js +51 -0
  639. package/icons/thlarge/index.min.js +1 -0
  640. package/icons/thlarge/index.vue +25 -0
  641. package/icons/thlarge/package.json +9 -0
  642. package/icons/times/index.cjs.js +35 -0
  643. package/icons/times/index.cjs.min.js +1 -0
  644. package/icons/times/index.d.ts +12 -0
  645. package/icons/times/index.esm.js +29 -0
  646. package/icons/times/index.esm.min.js +1 -0
  647. package/icons/times/index.js +37 -0
  648. package/icons/times/index.min.js +1 -0
  649. package/icons/times/index.vue +16 -0
  650. package/icons/times/package.json +9 -0
  651. package/icons/timescircle/index.cjs.js +49 -0
  652. package/icons/timescircle/index.cjs.min.js +1 -0
  653. package/icons/timescircle/index.d.ts +12 -0
  654. package/icons/timescircle/index.esm.js +43 -0
  655. package/icons/timescircle/index.esm.min.js +1 -0
  656. package/icons/timescircle/index.js +51 -0
  657. package/icons/timescircle/index.min.js +1 -0
  658. package/icons/timescircle/index.vue +25 -0
  659. package/icons/timescircle/package.json +9 -0
  660. package/icons/trash/index.cjs.js +49 -0
  661. package/icons/trash/index.cjs.min.js +1 -0
  662. package/icons/trash/index.d.ts +12 -0
  663. package/icons/trash/index.esm.js +43 -0
  664. package/icons/trash/index.esm.min.js +1 -0
  665. package/icons/trash/index.js +51 -0
  666. package/icons/trash/index.min.js +1 -0
  667. package/icons/trash/index.vue +25 -0
  668. package/icons/trash/package.json +9 -0
  669. package/icons/undo/index.cjs.js +49 -0
  670. package/icons/undo/index.cjs.min.js +1 -0
  671. package/icons/undo/index.d.ts +12 -0
  672. package/icons/undo/index.esm.js +43 -0
  673. package/icons/undo/index.esm.min.js +1 -0
  674. package/icons/undo/index.js +51 -0
  675. package/icons/undo/index.min.js +1 -0
  676. package/icons/undo/index.vue +25 -0
  677. package/icons/undo/package.json +9 -0
  678. package/icons/upload/index.cjs.js +49 -0
  679. package/icons/upload/index.cjs.min.js +1 -0
  680. package/icons/upload/index.d.ts +12 -0
  681. package/icons/upload/index.esm.js +43 -0
  682. package/icons/upload/index.esm.min.js +1 -0
  683. package/icons/upload/index.js +51 -0
  684. package/icons/upload/index.min.js +1 -0
  685. package/icons/upload/index.vue +25 -0
  686. package/icons/upload/package.json +9 -0
  687. package/icons/windowmaximize/index.cjs.js +49 -0
  688. package/icons/windowmaximize/index.cjs.min.js +1 -0
  689. package/icons/windowmaximize/index.d.ts +12 -0
  690. package/icons/windowmaximize/index.esm.js +43 -0
  691. package/icons/windowmaximize/index.esm.min.js +1 -0
  692. package/icons/windowmaximize/index.js +51 -0
  693. package/icons/windowmaximize/index.min.js +1 -0
  694. package/icons/windowmaximize/index.vue +25 -0
  695. package/icons/windowmaximize/package.json +9 -0
  696. package/icons/windowminimize/index.cjs.js +49 -0
  697. package/icons/windowminimize/index.cjs.min.js +1 -0
  698. package/icons/windowminimize/index.d.ts +12 -0
  699. package/icons/windowminimize/index.esm.js +43 -0
  700. package/icons/windowminimize/index.esm.min.js +1 -0
  701. package/icons/windowminimize/index.js +51 -0
  702. package/icons/windowminimize/index.min.js +1 -0
  703. package/icons/windowminimize/index.vue +25 -0
  704. package/icons/windowminimize/package.json +9 -0
  705. package/image/Image.d.ts +1 -1
  706. package/image/Image.vue +21 -13
  707. package/image/image.cjs.js +45 -29
  708. package/image/image.cjs.min.js +1 -1
  709. package/image/image.esm.js +40 -30
  710. package/image/image.esm.min.js +1 -1
  711. package/image/image.js +41 -31
  712. package/image/image.min.js +1 -1
  713. package/inlinemessage/InlineMessage.d.ts +61 -0
  714. package/inlinemessage/InlineMessage.vue +25 -13
  715. package/inlinemessage/inlinemessage.cjs.js +36 -21
  716. package/inlinemessage/inlinemessage.cjs.min.js +1 -1
  717. package/inlinemessage/inlinemessage.esm.js +29 -22
  718. package/inlinemessage/inlinemessage.esm.min.js +1 -1
  719. package/inlinemessage/inlinemessage.js +33 -23
  720. package/inlinemessage/inlinemessage.min.js +1 -1
  721. package/inplace/Inplace.d.ts +64 -1
  722. package/inplace/Inplace.vue +16 -6
  723. package/inplace/inplace.cjs.js +28 -16
  724. package/inplace/inplace.cjs.min.js +1 -1
  725. package/inplace/inplace.esm.js +27 -17
  726. package/inplace/inplace.esm.min.js +1 -1
  727. package/inplace/inplace.js +28 -18
  728. package/inplace/inplace.min.js +1 -1
  729. package/inputnumber/InputNumber.d.ts +13 -4
  730. package/inputnumber/InputNumber.vue +35 -7
  731. package/inputnumber/inputnumber.cjs.js +53 -19
  732. package/inputnumber/inputnumber.cjs.min.js +1 -1
  733. package/inputnumber/inputnumber.esm.js +52 -20
  734. package/inputnumber/inputnumber.esm.min.js +1 -1
  735. package/inputnumber/inputnumber.js +53 -21
  736. package/inputnumber/inputnumber.min.js +1 -1
  737. package/listbox/Listbox.d.ts +6 -2
  738. package/listbox/Listbox.vue +8 -3
  739. package/listbox/listbox.cjs.js +10 -5
  740. package/listbox/listbox.cjs.min.js +1 -1
  741. package/listbox/listbox.esm.js +10 -6
  742. package/listbox/listbox.esm.min.js +1 -1
  743. package/listbox/listbox.js +11 -7
  744. package/listbox/listbox.min.js +1 -1
  745. package/megamenu/MegaMenu.d.ts +172 -0
  746. package/megamenu/MegaMenu.vue +7 -4
  747. package/megamenu/MegaMenuSub.vue +58 -22
  748. package/megamenu/megamenu.cjs.js +119 -86
  749. package/megamenu/megamenu.cjs.min.js +1 -1
  750. package/megamenu/megamenu.esm.js +117 -87
  751. package/megamenu/megamenu.esm.min.js +1 -1
  752. package/megamenu/megamenu.js +118 -88
  753. package/megamenu/megamenu.min.js +1 -1
  754. package/menu/Menu.d.ts +127 -0
  755. package/menu/Menu.vue +11 -8
  756. package/menu/Menuitem.vue +30 -11
  757. package/menu/menu.cjs.js +99 -71
  758. package/menu/menu.cjs.min.js +1 -1
  759. package/menu/menu.esm.js +99 -72
  760. package/menu/menu.esm.min.js +1 -1
  761. package/menu/menu.js +100 -73
  762. package/menu/menu.min.js +1 -1
  763. package/menubar/Menubar.d.ts +177 -0
  764. package/menubar/Menubar.vue +14 -7
  765. package/menubar/MenubarSub.vue +54 -18
  766. package/menubar/menubar.cjs.js +116 -76
  767. package/menubar/menubar.cjs.min.js +1 -1
  768. package/menubar/menubar.esm.js +113 -77
  769. package/menubar/menubar.esm.min.js +1 -1
  770. package/menubar/menubar.js +114 -78
  771. package/menubar/menubar.min.js +1 -1
  772. package/message/Message.d.ts +83 -1
  773. package/message/Message.vue +36 -22
  774. package/message/message.cjs.js +59 -35
  775. package/message/message.cjs.min.js +1 -1
  776. package/message/message.esm.js +54 -36
  777. package/message/message.esm.min.js +1 -1
  778. package/message/message.js +55 -37
  779. package/message/message.min.js +1 -1
  780. package/multiselect/MultiSelect.d.ts +85 -6
  781. package/multiselect/MultiSelect.vue +41 -17
  782. package/multiselect/multiselect.cjs.js +96 -32
  783. package/multiselect/multiselect.cjs.min.js +1 -1
  784. package/multiselect/multiselect.esm.js +91 -33
  785. package/multiselect/multiselect.esm.min.js +1 -1
  786. package/multiselect/multiselect.js +92 -34
  787. package/multiselect/multiselect.min.js +1 -1
  788. package/orderlist/OrderList.d.ts +16 -0
  789. package/orderlist/OrderList.vue +37 -5
  790. package/orderlist/orderlist.cjs.js +49 -9
  791. package/orderlist/orderlist.cjs.min.js +1 -1
  792. package/orderlist/orderlist.esm.js +46 -10
  793. package/orderlist/orderlist.esm.min.js +1 -1
  794. package/orderlist/orderlist.js +47 -11
  795. package/orderlist/orderlist.min.js +1 -1
  796. package/organizationchart/OrganizationChart.d.ts +10 -0
  797. package/organizationchart/OrganizationChartNode.vue +8 -1
  798. package/organizationchart/organizationchart.cjs.js +21 -3
  799. package/organizationchart/organizationchart.cjs.min.js +1 -1
  800. package/organizationchart/organizationchart.esm.js +16 -3
  801. package/organizationchart/organizationchart.esm.min.js +1 -1
  802. package/organizationchart/organizationchart.js +21 -5
  803. package/organizationchart/organizationchart.min.js +1 -1
  804. package/overlaypanel/OverlayPanel.d.ts +65 -0
  805. package/overlaypanel/OverlayPanel.vue +15 -5
  806. package/overlaypanel/overlaypanel.cjs.js +23 -11
  807. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  808. package/overlaypanel/overlaypanel.esm.js +22 -12
  809. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  810. package/overlaypanel/overlaypanel.js +23 -13
  811. package/overlaypanel/overlaypanel.min.js +1 -1
  812. package/package.json +2 -3
  813. package/paginator/FirstPageLink.vue +11 -1
  814. package/paginator/LastPageLink.vue +11 -1
  815. package/paginator/NextPageLink.vue +11 -1
  816. package/paginator/Paginator.d.ts +17 -1
  817. package/paginator/Paginator.vue +4 -4
  818. package/paginator/PrevPageLink.vue +11 -1
  819. package/paginator/paginator.cjs.js +70 -34
  820. package/paginator/paginator.cjs.min.js +1 -1
  821. package/paginator/paginator.esm.js +67 -35
  822. package/paginator/paginator.esm.min.js +1 -1
  823. package/paginator/paginator.js +68 -36
  824. package/paginator/paginator.min.js +1 -1
  825. package/panel/Panel.d.ts +101 -1
  826. package/panel/Panel.vue +22 -9
  827. package/panel/panel.cjs.js +44 -27
  828. package/panel/panel.cjs.min.js +1 -1
  829. package/panel/panel.esm.js +42 -28
  830. package/panel/panel.esm.min.js +1 -1
  831. package/panel/panel.js +43 -29
  832. package/panel/panel.min.js +1 -1
  833. package/panelmenu/PanelMenu.d.ts +170 -0
  834. package/panelmenu/PanelMenu.vue +45 -17
  835. package/panelmenu/PanelMenuList.vue +6 -3
  836. package/panelmenu/PanelMenuSub.vue +48 -19
  837. package/panelmenu/panelmenu.cjs.js +175 -118
  838. package/panelmenu/panelmenu.cjs.min.js +1 -1
  839. package/panelmenu/panelmenu.esm.js +173 -119
  840. package/panelmenu/panelmenu.esm.min.js +1 -1
  841. package/panelmenu/panelmenu.js +174 -120
  842. package/panelmenu/panelmenu.min.js +1 -1
  843. package/password/Password.d.ts +20 -2
  844. package/password/Password.vue +13 -7
  845. package/password/password.cjs.js +30 -12
  846. package/password/password.cjs.min.js +1 -1
  847. package/password/password.esm.js +29 -13
  848. package/password/password.esm.min.js +1 -1
  849. package/password/password.js +30 -14
  850. package/password/password.min.js +1 -1
  851. package/picklist/PickList.d.ts +56 -0
  852. package/picklist/PickList.vue +134 -30
  853. package/picklist/picklist.cjs.js +166 -58
  854. package/picklist/picklist.cjs.min.js +1 -1
  855. package/picklist/picklist.esm.js +159 -59
  856. package/picklist/picklist.esm.min.js +1 -1
  857. package/picklist/picklist.js +160 -60
  858. package/picklist/picklist.min.js +1 -1
  859. package/progressbar/ProgressBar.d.ts +40 -0
  860. package/progressbar/ProgressBar.vue +8 -5
  861. package/progressbar/progressbar.cjs.js +25 -23
  862. package/progressbar/progressbar.cjs.min.js +1 -1
  863. package/progressbar/progressbar.esm.js +22 -24
  864. package/progressbar/progressbar.esm.min.js +1 -1
  865. package/progressbar/progressbar.js +26 -25
  866. package/progressbar/progressbar.min.js +1 -1
  867. package/progressspinner/ProgressSpinner.d.ts +40 -0
  868. package/progressspinner/ProgressSpinner.vue +6 -3
  869. package/progressspinner/progressspinner.cjs.js +18 -13
  870. package/progressspinner/progressspinner.cjs.min.js +1 -1
  871. package/progressspinner/progressspinner.esm.js +15 -14
  872. package/progressspinner/progressspinner.esm.min.js +1 -1
  873. package/progressspinner/progressspinner.js +19 -15
  874. package/progressspinner/progressspinner.min.js +1 -1
  875. package/rating/Rating.d.ts +3 -3
  876. package/rating/Rating.vue +14 -15
  877. package/rating/rating.cjs.js +26 -21
  878. package/rating/rating.cjs.min.js +1 -1
  879. package/rating/rating.esm.js +21 -22
  880. package/rating/rating.esm.min.js +1 -1
  881. package/rating/rating.js +25 -23
  882. package/rating/rating.min.js +1 -1
  883. package/resources/primevue.css +3 -1
  884. package/resources/primevue.min.css +1 -1
  885. package/resources/themes/arya-blue/theme.css +80 -1
  886. package/resources/themes/arya-green/theme.css +80 -1
  887. package/resources/themes/arya-orange/theme.css +80 -1
  888. package/resources/themes/arya-purple/theme.css +80 -1
  889. package/resources/themes/bootstrap4-dark-blue/theme.css +80 -1
  890. package/resources/themes/bootstrap4-dark-purple/theme.css +80 -1
  891. package/resources/themes/bootstrap4-light-blue/theme.css +80 -1
  892. package/resources/themes/bootstrap4-light-purple/theme.css +80 -1
  893. package/resources/themes/fluent-light/theme.css +80 -1
  894. package/resources/themes/lara-dark-blue/theme.css +80 -1
  895. package/resources/themes/lara-dark-indigo/theme.css +80 -1
  896. package/resources/themes/lara-dark-purple/theme.css +80 -1
  897. package/resources/themes/lara-dark-teal/theme.css +80 -1
  898. package/resources/themes/lara-light-blue/theme.css +80 -1
  899. package/resources/themes/lara-light-indigo/theme.css +80 -1
  900. package/resources/themes/lara-light-purple/theme.css +80 -1
  901. package/resources/themes/lara-light-teal/theme.css +80 -1
  902. package/resources/themes/luna-amber/theme.css +80 -1
  903. package/resources/themes/luna-blue/theme.css +80 -1
  904. package/resources/themes/luna-green/theme.css +80 -1
  905. package/resources/themes/luna-pink/theme.css +80 -1
  906. package/resources/themes/md-dark-deeppurple/theme.css +83 -1
  907. package/resources/themes/md-dark-indigo/theme.css +83 -1
  908. package/resources/themes/md-light-deeppurple/theme.css +83 -1
  909. package/resources/themes/md-light-indigo/theme.css +83 -1
  910. package/resources/themes/mdc-dark-deeppurple/theme.css +83 -1
  911. package/resources/themes/mdc-dark-indigo/theme.css +83 -1
  912. package/resources/themes/mdc-light-deeppurple/theme.css +83 -1
  913. package/resources/themes/mdc-light-indigo/theme.css +83 -1
  914. package/resources/themes/mira/theme.css +80 -1
  915. package/resources/themes/nano/theme.css +80 -1
  916. package/resources/themes/nova/theme.css +80 -1
  917. package/resources/themes/nova-accent/theme.css +80 -1
  918. package/resources/themes/nova-alt/theme.css +80 -1
  919. package/resources/themes/nova-vue/theme.css +80 -1
  920. package/resources/themes/rhea/theme.css +80 -1
  921. package/resources/themes/saga-blue/theme.css +80 -1
  922. package/resources/themes/saga-green/theme.css +80 -1
  923. package/resources/themes/saga-orange/theme.css +80 -1
  924. package/resources/themes/saga-purple/theme.css +80 -1
  925. package/resources/themes/soho-dark/theme.css +80 -1
  926. package/resources/themes/soho-light/theme.css +80 -1
  927. package/resources/themes/tailwind-light/theme.css +80 -1
  928. package/resources/themes/vela-blue/theme.css +80 -1
  929. package/resources/themes/vela-green/theme.css +80 -1
  930. package/resources/themes/vela-orange/theme.css +80 -1
  931. package/resources/themes/vela-purple/theme.css +80 -1
  932. package/resources/themes/viva-dark/theme.css +80 -1
  933. package/resources/themes/viva-light/theme.css +80 -1
  934. package/scrollpanel/ScrollPanel.d.ts +74 -0
  935. package/scrollpanel/ScrollPanel.vue +7 -3
  936. package/scrollpanel/scrollpanel.cjs.js +19 -15
  937. package/scrollpanel/scrollpanel.cjs.min.js +1 -1
  938. package/scrollpanel/scrollpanel.esm.js +16 -16
  939. package/scrollpanel/scrollpanel.esm.min.js +1 -1
  940. package/scrollpanel/scrollpanel.js +20 -17
  941. package/scrollpanel/scrollpanel.min.js +1 -1
  942. package/scrolltop/ScrollTop.d.ts +56 -2
  943. package/scrolltop/ScrollTop.vue +11 -6
  944. package/scrolltop/scrolltop.cjs.js +22 -12
  945. package/scrolltop/scrolltop.cjs.min.js +1 -1
  946. package/scrolltop/scrolltop.esm.js +18 -13
  947. package/scrolltop/scrolltop.esm.min.js +1 -1
  948. package/scrolltop/scrolltop.js +22 -14
  949. package/scrolltop/scrolltop.min.js +1 -1
  950. package/sidebar/Sidebar.d.ts +73 -1
  951. package/sidebar/Sidebar.vue +15 -9
  952. package/sidebar/sidebar.cjs.js +33 -26
  953. package/sidebar/sidebar.cjs.min.js +1 -1
  954. package/sidebar/sidebar.esm.js +32 -27
  955. package/sidebar/sidebar.esm.min.js +1 -1
  956. package/sidebar/sidebar.js +33 -28
  957. package/sidebar/sidebar.min.js +1 -1
  958. package/skeleton/Skeleton.d.ts +32 -0
  959. package/skeleton/Skeleton.vue +4 -1
  960. package/skeleton/skeleton.cjs.js +10 -4
  961. package/skeleton/skeleton.cjs.min.js +1 -1
  962. package/skeleton/skeleton.esm.js +7 -5
  963. package/skeleton/skeleton.esm.min.js +1 -1
  964. package/skeleton/skeleton.js +11 -6
  965. package/skeleton/skeleton.min.js +1 -1
  966. package/speeddial/SpeedDial.d.ts +113 -1
  967. package/speeddial/SpeedDial.vue +45 -14
  968. package/speeddial/speeddial.cjs.js +65 -34
  969. package/speeddial/speeddial.cjs.min.js +1 -1
  970. package/speeddial/speeddial.esm.js +64 -35
  971. package/speeddial/speeddial.esm.min.js +1 -1
  972. package/speeddial/speeddial.js +65 -36
  973. package/speeddial/speeddial.min.js +1 -1
  974. package/splitbutton/SplitButton.d.ts +74 -0
  975. package/splitbutton/SplitButton.vue +23 -7
  976. package/splitbutton/splitbutton.cjs.js +40 -16
  977. package/splitbutton/splitbutton.cjs.min.js +1 -1
  978. package/splitbutton/splitbutton.esm.js +39 -17
  979. package/splitbutton/splitbutton.esm.min.js +1 -1
  980. package/splitbutton/splitbutton.js +40 -18
  981. package/splitbutton/splitbutton.min.js +1 -1
  982. package/splitter/Splitter.d.ts +51 -0
  983. package/splitter/Splitter.vue +15 -3
  984. package/splitter/splitter.cjs.js +16 -11
  985. package/splitter/splitter.cjs.min.js +1 -1
  986. package/splitter/splitter.esm.js +13 -12
  987. package/splitter/splitter.esm.min.js +1 -1
  988. package/splitter/splitter.js +17 -13
  989. package/splitter/splitter.min.js +1 -1
  990. package/splitterpanel/SplitterPanel.d.ts +32 -0
  991. package/splitterpanel/SplitterPanel.vue +4 -1
  992. package/splitterpanel/splitterpanel.cjs.js +10 -4
  993. package/splitterpanel/splitterpanel.cjs.min.js +1 -1
  994. package/splitterpanel/splitterpanel.esm.js +7 -5
  995. package/splitterpanel/splitterpanel.esm.min.js +1 -1
  996. package/splitterpanel/splitterpanel.js +11 -6
  997. package/splitterpanel/splitterpanel.min.js +1 -1
  998. package/steps/Steps.d.ts +52 -0
  999. package/steps/Steps.vue +11 -8
  1000. package/steps/steps.cjs.js +34 -33
  1001. package/steps/steps.cjs.min.js +1 -1
  1002. package/steps/steps.esm.js +31 -34
  1003. package/steps/steps.esm.min.js +1 -1
  1004. package/steps/steps.js +35 -35
  1005. package/steps/steps.min.js +1 -1
  1006. package/tabmenu/TabMenu.d.ts +93 -0
  1007. package/tabmenu/TabMenu.vue +22 -10
  1008. package/tabmenu/tabmenu.cjs.js +61 -43
  1009. package/tabmenu/tabmenu.cjs.min.js +1 -1
  1010. package/tabmenu/tabmenu.esm.js +61 -44
  1011. package/tabmenu/tabmenu.esm.min.js +1 -1
  1012. package/tabmenu/tabmenu.js +62 -45
  1013. package/tabmenu/tabmenu.min.js +1 -1
  1014. package/tabpanel/TabPanel.d.ts +52 -2
  1015. package/tabpanel/TabPanel.vue +2 -0
  1016. package/tabpanel/tabpanel.cjs.js +6 -0
  1017. package/tabpanel/tabpanel.cjs.min.js +1 -1
  1018. package/tabpanel/tabpanel.esm.js +2 -0
  1019. package/tabpanel/tabpanel.esm.min.js +1 -1
  1020. package/tabpanel/tabpanel.js +7 -2
  1021. package/tabpanel/tabpanel.min.js +1 -1
  1022. package/tabview/TabView.d.ts +108 -3
  1023. package/tabview/TabView.vue +52 -15
  1024. package/tabview/tabview.cjs.js +81 -60
  1025. package/tabview/tabview.cjs.min.js +1 -1
  1026. package/tabview/tabview.esm.js +79 -61
  1027. package/tabview/tabview.esm.min.js +1 -1
  1028. package/tabview/tabview.js +80 -62
  1029. package/tabview/tabview.min.js +1 -1
  1030. package/tag/Tag.d.ts +45 -0
  1031. package/tag/Tag.vue +7 -3
  1032. package/tag/tag.cjs.js +19 -12
  1033. package/tag/tag.cjs.min.js +1 -1
  1034. package/tag/tag.esm.js +16 -13
  1035. package/tag/tag.esm.min.js +1 -1
  1036. package/tag/tag.js +20 -14
  1037. package/tag/tag.min.js +1 -1
  1038. package/terminal/Terminal.d.ts +79 -0
  1039. package/terminal/Terminal.vue +12 -10
  1040. package/terminal/terminal.cjs.js +23 -28
  1041. package/terminal/terminal.cjs.min.js +1 -1
  1042. package/terminal/terminal.esm.js +23 -29
  1043. package/terminal/terminal.esm.min.js +1 -1
  1044. package/terminal/terminal.js +24 -30
  1045. package/terminal/terminal.min.js +1 -1
  1046. package/tieredmenu/TieredMenu.d.ts +153 -0
  1047. package/tieredmenu/TieredMenu.vue +5 -2
  1048. package/tieredmenu/TieredMenuSub.vue +52 -15
  1049. package/tieredmenu/tieredmenu.cjs.js +88 -51
  1050. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  1051. package/tieredmenu/tieredmenu.esm.js +87 -52
  1052. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  1053. package/tieredmenu/tieredmenu.js +88 -53
  1054. package/tieredmenu/tieredmenu.min.js +1 -1
  1055. package/toast/Toast.d.ts +94 -6
  1056. package/toast/Toast.vue +10 -7
  1057. package/toast/ToastMessage.vue +35 -14
  1058. package/toast/toast.cjs.js +66 -41
  1059. package/toast/toast.cjs.min.js +1 -1
  1060. package/toast/toast.esm.js +61 -42
  1061. package/toast/toast.esm.min.js +1 -1
  1062. package/toast/toast.js +62 -43
  1063. package/toast/toast.min.js +1 -1
  1064. package/togglebutton/ToggleButton.d.ts +18 -2
  1065. package/togglebutton/ToggleButton.vue +4 -2
  1066. package/togglebutton/togglebutton.cjs.js +12 -7
  1067. package/togglebutton/togglebutton.cjs.min.js +1 -1
  1068. package/togglebutton/togglebutton.esm.js +13 -8
  1069. package/togglebutton/togglebutton.esm.min.js +1 -1
  1070. package/togglebutton/togglebutton.js +12 -7
  1071. package/togglebutton/togglebutton.min.js +1 -1
  1072. package/toolbar/Toolbar.d.ts +44 -0
  1073. package/toolbar/Toolbar.vue +6 -4
  1074. package/toolbar/toolbar.cjs.js +15 -12
  1075. package/toolbar/toolbar.cjs.min.js +1 -1
  1076. package/toolbar/toolbar.esm.js +12 -13
  1077. package/toolbar/toolbar.esm.min.js +1 -1
  1078. package/toolbar/toolbar.js +16 -14
  1079. package/toolbar/toolbar.min.js +1 -1
  1080. package/tree/Tree.d.ts +35 -5
  1081. package/tree/Tree.vue +13 -7
  1082. package/tree/TreeNode.vue +20 -9
  1083. package/tree/tree.cjs.js +73 -25
  1084. package/tree/tree.cjs.min.js +1 -1
  1085. package/tree/tree.esm.js +68 -26
  1086. package/tree/tree.esm.min.js +1 -1
  1087. package/tree/tree.js +69 -27
  1088. package/tree/tree.min.js +1 -1
  1089. package/treeselect/TreeSelect.d.ts +33 -0
  1090. package/treeselect/TreeSelect.vue +20 -6
  1091. package/treeselect/treeselect.cjs.js +44 -11
  1092. package/treeselect/treeselect.cjs.min.js +1 -1
  1093. package/treeselect/treeselect.esm.js +44 -12
  1094. package/treeselect/treeselect.esm.min.js +1 -1
  1095. package/treeselect/treeselect.js +45 -13
  1096. package/treeselect/treeselect.min.js +1 -1
  1097. package/treetable/BodyCell.vue +22 -11
  1098. package/treetable/HeaderCell.vue +28 -13
  1099. package/treetable/TreeTable.d.ts +42 -1
  1100. package/treetable/TreeTable.vue +32 -6
  1101. package/treetable/TreeTableRow.vue +6 -0
  1102. package/treetable/treetable.cjs.js +176 -41
  1103. package/treetable/treetable.cjs.min.js +1 -1
  1104. package/treetable/treetable.esm.js +168 -41
  1105. package/treetable/treetable.esm.min.js +1 -1
  1106. package/treetable/treetable.js +170 -43
  1107. package/treetable/treetable.min.js +1 -1
  1108. package/tristatecheckbox/TriStateCheckbox.d.ts +16 -2
  1109. package/tristatecheckbox/TriStateCheckbox.vue +16 -20
  1110. package/tristatecheckbox/tristatecheckbox.cjs.js +23 -22
  1111. package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
  1112. package/tristatecheckbox/tristatecheckbox.esm.js +19 -23
  1113. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  1114. package/tristatecheckbox/tristatecheckbox.js +23 -24
  1115. package/tristatecheckbox/tristatecheckbox.min.js +1 -1
  1116. package/utils/Utils.d.ts +1 -0
  1117. package/utils/utils.cjs.js +5 -0
  1118. package/utils/utils.cjs.min.js +1 -1
  1119. package/utils/utils.esm.js +5 -0
  1120. package/utils/utils.esm.min.js +1 -1
  1121. package/utils/utils.js +5 -0
  1122. package/utils/utils.min.js +1 -1
  1123. package/vetur-attributes.json +303 -7
  1124. package/vetur-tags.json +137 -53
  1125. package/virtualscroller/VirtualScroller.d.ts +4 -0
  1126. package/virtualscroller/VirtualScroller.vue +12 -1
  1127. package/virtualscroller/virtualscroller.cjs.js +18 -6
  1128. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  1129. package/virtualscroller/virtualscroller.esm.js +15 -7
  1130. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  1131. package/virtualscroller/virtualscroller.js +19 -8
  1132. package/virtualscroller/virtualscroller.min.js +1 -1
  1133. package/web-types.json +1725 -151
  1134. package/fullcalendar/FullCalendar.d.ts +0 -34
  1135. package/fullcalendar/FullCalendar.vue +0 -64
  1136. package/fullcalendar/fullcalendar.cjs.js +0 -67
  1137. package/fullcalendar/fullcalendar.cjs.min.js +0 -1
  1138. package/fullcalendar/fullcalendar.esm.js +0 -65
  1139. package/fullcalendar/fullcalendar.esm.min.js +0 -1
  1140. package/fullcalendar/fullcalendar.js +0 -67
  1141. package/fullcalendar/fullcalendar.min.js +0 -1
  1142. package/fullcalendar/package.json +0 -9
@@ -1 +1 @@
1
- "use strict";var t=require("primevue/utils"),e=require("vue"),s={name:"VirtualScroller",emits:["update:numToleratedItems","scroll","scroll-index-change","lazy-load"],props:{id:{type:String,default:null},style:null,class:null,items:{type:Array,default:null},itemSize:{type:[Number,Array],default:0},scrollHeight:null,scrollWidth:null,orientation:{type:String,default:"vertical"},numToleratedItems:{type:Number,default:null},delay:{type:Number,default:0},resizeDelay:{type:Number,default:10},lazy:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loaderDisabled:{type:Boolean,default:!1},columns:{type:Array,default:null},loading:{type:Boolean,default:!1},showSpacer:{type:Boolean,default:!0},showLoader:{type:Boolean,default:!1},tabindex:{type:Number,default:0},inline:{type:Boolean,default:!1},step:{type:Number,default:0},appendOnly:{type:Boolean,default:!1},autoSize:{type:Boolean,default:!1}},data(){return{first:this.isBoth()?{rows:0,cols:0}:0,last:this.isBoth()?{rows:0,cols:0}:0,page:this.isBoth()?{rows:0,cols:0}:0,numItemsInViewport:this.isBoth()?{rows:0,cols:0}:0,lastScrollPos:this.isBoth()?{top:0,left:0}:0,d_numToleratedItems:this.numToleratedItems,d_loading:this.loading,loaderArr:[],spacerStyle:{},contentStyle:{}}},element:null,content:null,lastScrollPos:null,scrollTimeout:null,resizeTimeout:null,defaultWidth:0,defaultHeight:0,defaultContentWidth:0,defaultContentHeight:0,isRangeChanged:!1,lazyLoadState:{},resizeListener:null,initialized:!1,watch:{numToleratedItems(t){this.d_numToleratedItems=t},loading(t){this.d_loading=t},items(t,e){e&&e.length===(t||[]).length||(this.init(),this.calculateAutoSize())},itemSize(){this.init(),this.calculateAutoSize()},orientation(){this.lastScrollPos=this.isBoth()?{top:0,left:0}:0},scrollHeight(){this.init(),this.calculateAutoSize()},scrollWidth(){this.init(),this.calculateAutoSize()}},mounted(){this.viewInit(),this.lastScrollPos=this.isBoth()?{top:0,left:0}:0,this.lazyLoadState=this.lazyLoadState||{}},updated(){!this.initialized&&this.viewInit()},unmounted(){this.unbindResizeListener(),this.initialized=!1},methods:{viewInit(){t.DomHandler.isVisible(this.element)&&(this.setContentEl(this.content),this.init(),this.bindResizeListener(),this.defaultWidth=t.DomHandler.getWidth(this.element),this.defaultHeight=t.DomHandler.getHeight(this.element),this.defaultContentWidth=t.DomHandler.getWidth(this.content),this.defaultContentHeight=t.DomHandler.getHeight(this.content),this.initialized=!0)},init(){this.disabled||(this.setSize(),this.calculateOptions(),this.setSpacerSize())},isVertical(){return"vertical"===this.orientation},isHorizontal(){return"horizontal"===this.orientation},isBoth(){return"both"===this.orientation},scrollTo(t){this.lastScrollPos=this.both?{top:0,left:0}:0,this.element&&this.element.scrollTo(t)},scrollToIndex(t,e="auto"){const s=this.isBoth(),i=this.isHorizontal(),o=this.first,{numToleratedItems:l}=this.calculateNumItems(),n=this.getContentPosition(),r=this.itemSize,h=(t=0,e)=>t<=e?0:t,a=(t,e,s)=>t*e+s,d=(t=0,s=0)=>this.scrollTo({left:t,top:s,behavior:e});let c=s?{rows:0,cols:0}:0,m=!1;s?(c={rows:h(t[0],l[0]),cols:h(t[1],l[1])},d(a(c.cols,r[1],n.left),a(c.rows,r[0],n.top)),m=c.rows!==o.rows||c.cols!==o.cols):(c=h(t,l),i?d(a(c,r,n.left),0):d(0,a(c,r,n.top)),m=c!==o),this.isRangeChanged=m,this.first=c},scrollInView(t,e,s="auto"){if(e){const i=this.isBoth(),o=this.isHorizontal(),{first:l,viewport:n}=this.getRenderedRange(),r=(t=0,e=0)=>this.scrollTo({left:t,top:e,behavior:s}),h="to-end"===e;if("to-start"===e){if(i)n.first.rows-l.rows>t[0]?r(n.first.cols*this.itemSize[1],(n.first.rows-1)*this.itemSize[0]):n.first.cols-l.cols>t[1]&&r((n.first.cols-1)*this.itemSize[1],n.first.rows*this.itemSize[0]);else if(n.first-l>t){const t=(n.first-1)*this.itemSize;o?r(t,0):r(0,t)}}else if(h)if(i)n.last.rows-l.rows<=t[0]+1?r(n.first.cols*this.itemSize[1],(n.first.rows+1)*this.itemSize[0]):n.last.cols-l.cols<=t[1]+1&&r((n.first.cols+1)*this.itemSize[1],n.first.rows*this.itemSize[0]);else if(n.last-l<=t+1){const t=(n.first+1)*this.itemSize;o?r(t,0):r(0,t)}}else this.scrollToIndex(t,s)},getRenderedRange(){const t=(t,e)=>Math.floor(t/(e||t));let e=this.first,s=0;if(this.element){const i=this.isBoth(),o=this.isHorizontal(),{scrollTop:l,scrollLeft:n}=this.element.scrollTop;if(i)e={rows:t(l,this.itemSize[0]),cols:t(n,this.itemSize[1])},s={rows:e.rows+this.numItemsInViewport.rows,cols:e.cols+this.numItemsInViewport.cols};else{e=t(o?n:l,this.itemSize),s=e+this.numItemsInViewport}}return{first:this.first,last:this.last,viewport:{first:e,last:s}}},calculateNumItems(){const t=this.isBoth(),e=this.isHorizontal(),s=this.itemSize,i=this.getContentPosition(),o=this.element?this.element.offsetWidth-i.left:0,l=this.element?this.element.offsetHeight-i.top:0,n=(t,e)=>Math.ceil(t/(e||t)),r=t=>Math.ceil(t/2),h=t?{rows:n(l,s[0]),cols:n(o,s[1])}:n(e?o:l,s);return{numItemsInViewport:h,numToleratedItems:this.d_numToleratedItems||(t?[r(h.rows),r(h.cols)]:r(h))}},calculateOptions(){const t=this.isBoth(),e=this.first,{numItemsInViewport:s,numToleratedItems:i}=this.calculateNumItems(),o=(t,e,s,i=!1)=>this.getLast(t+e+(t<s?2:3)*s,i),l=t?{rows:o(e.rows,s.rows,i[0]),cols:o(e.cols,s.cols,i[1],!0)}:o(e,s,i);this.last=l,this.numItemsInViewport=s,this.d_numToleratedItems=i,this.$emit("update:numToleratedItems",this.d_numToleratedItems),this.showLoader&&(this.loaderArr=t?Array.from({length:s.rows}).map((()=>Array.from({length:s.cols}))):Array.from({length:s})),this.lazy&&Promise.resolve().then((()=>{this.lazyLoadState={first:this.step?t?{rows:0,cols:e.cols}:0:e,last:Math.min(this.step?this.step:l,this.items.length)},this.$emit("lazy-load",this.lazyLoadState)}))},calculateAutoSize(){this.autoSize&&!this.d_loading&&Promise.resolve().then((()=>{if(this.content){const e=this.isBoth(),s=this.isHorizontal(),i=this.isVertical();this.content.style.minHeight=this.content.style.minWidth="auto",this.content.style.position="relative",this.element.style.contain="none";const[o,l]=[t.DomHandler.getWidth(this.content),t.DomHandler.getHeight(this.content)];o!==this.defaultContentWidth&&(this.element.style.width=""),l!==this.defaultContentHeight&&(this.element.style.height="");const[n,r]=[t.DomHandler.getWidth(this.element),t.DomHandler.getHeight(this.element)];(e||s)&&(this.element.style.width=n<this.defaultWidth?n+"px":this.scrollWidth||this.defaultWidth+"px"),(e||i)&&(this.element.style.height=r<this.defaultHeight?r+"px":this.scrollHeight||this.defaultHeight+"px"),this.content.style.minHeight=this.content.style.minWidth="",this.content.style.position="",this.element.style.contain=""}}))},getLast(t=0,e){return this.items?Math.min(e?(this.columns||this.items[0]).length:this.items.length,t):0},getContentPosition(){if(this.content){const t=getComputedStyle(this.content),e=parseFloat(t.paddingLeft)+Math.max(parseFloat(t.left)||0,0),s=parseFloat(t.paddingRight)+Math.max(parseFloat(t.right)||0,0),i=parseFloat(t.paddingTop)+Math.max(parseFloat(t.top)||0,0),o=parseFloat(t.paddingBottom)+Math.max(parseFloat(t.bottom)||0,0);return{left:e,right:s,top:i,bottom:o,x:e+s,y:i+o}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},setSize(){if(this.element){const t=this.isBoth(),e=this.isHorizontal(),s=this.element.parentElement,i=this.scrollWidth||`${this.element.offsetWidth||s.offsetWidth}px`,o=this.scrollHeight||`${this.element.offsetHeight||s.offsetHeight}px`,l=(t,e)=>this.element.style[t]=e;t||e?(l("height",o),l("width",i)):l("height",o)}},setSpacerSize(){const t=this.items;if(t){const e=this.isBoth(),s=this.isHorizontal(),i=this.getContentPosition(),o=(t,e,s,i=0)=>this.spacerStyle={...this.spacerStyle,[`${t}`]:(e||[]).length*s+i+"px"};e?(o("height",t,this.itemSize[0],i.y),o("width",this.columns||t[1],this.itemSize[1],i.x)):s?o("width",this.columns||t,this.itemSize,i.x):o("height",t,this.itemSize,i.y)}},setContentPosition(t){if(this.content&&!this.appendOnly){const e=this.isBoth(),s=this.isHorizontal(),i=t?t.first:this.first,o=(t,e)=>t*e,l=(t=0,e=0)=>this.contentStyle={...this.contentStyle,transform:`translate3d(${t}px, ${e}px, 0)`};if(e)l(o(i.cols,this.itemSize[1]),o(i.rows,this.itemSize[0]));else{const t=o(i,this.itemSize);s?l(t,0):l(0,t)}}},onScrollPositionChange(t){const e=t.target,s=this.isBoth(),i=this.isHorizontal(),o=this.getContentPosition(),l=(t,e)=>t?t>e?t-e:t:0,n=(t,e)=>Math.floor(t/(e||t)),r=(t,e,s,i,o,l)=>t<=o?o:l?s-i-o:e+o-1,h=(t,e,s,i,o,l,n)=>t<=l?0:Math.max(0,n?t<e?s:t-l:t>e?s:t-2*l),a=(t,e,s,i,o,l)=>{let n=e+i+2*o;return t>=o&&(n+=o+1),this.getLast(n,l)},d=l(e.scrollTop,o.top),c=l(e.scrollLeft,o.left);let m=s?{rows:0,cols:0}:0,u=this.last,p=!1,f=this.lastScrollPos;if(s){const t=this.lastScrollPos.top<=d,e=this.lastScrollPos.left<=c;if(!this.appendOnly||this.appendOnly&&(t||e)){const s={rows:n(d,this.itemSize[0]),cols:n(c,this.itemSize[1])},i={rows:r(s.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],t),cols:r(s.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],e)};m={rows:h(s.rows,i.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],t),cols:h(s.cols,i.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],e)},u={rows:a(s.rows,m.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0]),cols:a(s.cols,m.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],!0)},p=m.rows!==this.first.rows||u.rows!==this.last.rows||m.cols!==this.first.cols||u.cols!==this.last.cols||this.isRangeChanged,f={top:d,left:c}}}else{const t=i?c:d,e=this.lastScrollPos<=t;if(!this.appendOnly||this.appendOnly&&e){const s=n(t,this.itemSize);m=h(s,r(s,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,e),this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,e),u=a(s,m,this.last,this.numItemsInViewport,this.d_numToleratedItems),p=m!==this.first||u!==this.last||this.isRangeChanged,f=t}}return{first:m,last:u,isRangeChanged:p,scrollPos:f}},onScrollChange(t){const{first:e,last:s,isRangeChanged:i,scrollPos:o}=this.onScrollPositionChange(t);if(i){const t={first:e,last:s};if(this.setContentPosition(t),this.first=e,this.last=s,this.lastScrollPos=o,this.$emit("scroll-index-change",t),this.lazy&&this.isPageChanged(e)){const t={first:this.step?Math.min(this.getPageByFirst(e)*this.step,this.items.length-this.step):e,last:Math.min(this.step?(this.getPageByFirst(e)+1)*this.step:s,this.items.length)};(this.lazyLoadState.first!==t.first||this.lazyLoadState.last!==t.last)&&this.$emit("lazy-load",t),this.lazyLoadState=t}}},onScroll(t){if(this.$emit("scroll",t),this.delay&&this.isPageChanged()){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),!this.d_loading&&this.showLoader){const{isRangeChanged:e}=this.onScrollPositionChange(t);(e||!!this.step&&this.isPageChanged())&&(this.d_loading=!0)}this.scrollTimeout=setTimeout((()=>{this.onScrollChange(t),!this.d_loading||!this.showLoader||this.lazy&&void 0!==this.loading||(this.d_loading=!1,this.page=this.getPageByFirst())}),this.delay)}else this.onScrollChange(t)},onResize(){this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout((()=>{if(t.DomHandler.isVisible(this.element)){const e=this.isBoth(),s=this.isVertical(),i=this.isHorizontal(),[o,l]=[t.DomHandler.getWidth(this.element),t.DomHandler.getHeight(this.element)],[n,r]=[o!==this.defaultWidth,l!==this.defaultHeight];(e?n||r:i?n:!!s&&r)&&(this.d_numToleratedItems=this.numToleratedItems,this.defaultWidth=o,this.defaultHeight=l,this.defaultContentWidth=t.DomHandler.getWidth(this.content),this.defaultContentHeight=t.DomHandler.getHeight(this.content),this.init())}}),this.resizeDelay)},bindResizeListener(){this.resizeListener||(this.resizeListener=this.onResize.bind(this),window.addEventListener("resize",this.resizeListener),window.addEventListener("orientationchange",this.resizeListener))},unbindResizeListener(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),window.removeEventListener("orientationchange",this.resizeListener),this.resizeListener=null)},getOptions(t){const e=(this.items||[]).length,s=this.isBoth()?this.first.rows+t:this.first+t;return{index:s,count:e,first:0===s,last:s===e-1,even:s%2==0,odd:s%2!=0}},getLoaderOptions(t,e){let s=this.loaderArr.length;return{index:t,count:s,first:0===t,last:t===s-1,even:t%2==0,odd:t%2!=0,...e}},getPageByFirst(t){return Math.floor(((t??this.first)+4*this.d_numToleratedItems)/(this.step||1))},isPageChanged(t){return!this.step||this.page!==this.getPageByFirst(t??this.first)},setContentEl(e){this.content=e||this.content||t.DomHandler.findSingle(this.element,".p-virtualscroller-content")},elementRef(t){this.element=t},contentRef(t){this.content=t}},computed:{containerClass(){return["p-virtualscroller",{"p-virtualscroller-inline":this.inline,"p-virtualscroller-both p-both-scroll":this.isBoth(),"p-virtualscroller-horizontal p-horizontal-scroll":this.isHorizontal()},this.class]},contentClass(){return["p-virtualscroller-content",{"p-virtualscroller-loading":this.d_loading}]},loaderClass(){return["p-virtualscroller-loader",{"p-component-overlay":!this.$slots.loader}]},loadedItems(){return this.items&&!this.d_loading?this.isBoth()?this.items.slice(this.appendOnly?0:this.first.rows,this.last.rows).map((t=>this.columns?t:t.slice(this.appendOnly?0:this.first.cols,this.last.cols))):this.isHorizontal()&&this.columns?this.items:this.items.slice(this.appendOnly?0:this.first,this.last):[]},loadedRows(){return this.d_loading?this.loaderDisabled?this.loaderArr:[]:this.loadedItems},loadedColumns(){if(this.columns){const t=this.isBoth(),e=this.isHorizontal();if(t||e)return this.d_loading&&this.loaderDisabled?t?this.loaderArr[0]:this.loaderArr:this.columns.slice(t?this.first.cols:this.first,t?this.last.cols:this.last)}return this.columns}}};const i=["tabindex"],o={key:1,class:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"};!function(t,e){void 0===e&&(e={});var s=e.insertAt;if(t&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===s&&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 transform: translateZ(0);\n will-change: scroll-position;\n outline: 0 none;\n}\n.p-virtualscroller-content {\n position: absolute;\n top: 0;\n left: 0;\n /* contain: content; */\n min-height: 100%;\n min-width: 100%;\n will-change: transform;\n}\n.p-virtualscroller-spacer {\n position: absolute;\n top: 0;\n left: 0;\n height: 1px;\n width: 1px;\n 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: flex;\n align-items: center;\n justify-content: center;\n}\n.p-virtualscroller-loading-icon {\n font-size: 2rem;\n}\n.p-virtualscroller-horizontal > .p-virtualscroller-content {\n display: flex;\n}\n\n/* Inline */\n.p-virtualscroller-inline .p-virtualscroller-content {\n position: static;\n}\n"),s.render=function(t,s,l,n,r,h){return l.disabled?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.renderSlot(t.$slots,"default"),e.renderSlot(t.$slots,"content",{items:l.items,rows:l.items,columns:h.loadedColumns})],64)):(e.openBlock(),e.createElementBlock("div",{key:0,ref:h.elementRef,class:e.normalizeClass(h.containerClass),tabindex:l.tabindex,style:e.normalizeStyle(l.style),onScroll:s[0]||(s[0]=(...t)=>h.onScroll&&h.onScroll(...t))},[e.renderSlot(t.$slots,"content",{styleClass:h.contentClass,items:h.loadedItems,getItemOptions:h.getOptions,loading:r.d_loading,getLoaderOptions:h.getLoaderOptions,itemSize:l.itemSize,rows:h.loadedRows,columns:h.loadedColumns,contentRef:h.contentRef,spacerStyle:r.spacerStyle,contentStyle:r.contentStyle,vertical:h.isVertical(),horizontal:h.isHorizontal(),both:h.isBoth()},(()=>[e.createElementVNode("div",{ref:h.contentRef,class:e.normalizeClass(h.contentClass),style:e.normalizeStyle(r.contentStyle)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.loadedItems,((s,i)=>e.renderSlot(t.$slots,"item",{key:i,item:s,options:h.getOptions(i)}))),128))],6)])),l.showSpacer?(e.openBlock(),e.createElementBlock("div",{key:0,class:"p-virtualscroller-spacer",style:e.normalizeStyle(r.spacerStyle)},null,4)):e.createCommentVNode("",!0),!l.loaderDisabled&&l.showLoader&&r.d_loading?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(h.loaderClass)},[t.$slots&&t.$slots.loader?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(r.loaderArr,((s,i)=>e.renderSlot(t.$slots,"loader",{key:i,options:h.getLoaderOptions(i,h.isBoth()&&{numCols:t.d_numItemsInViewport.cols})}))),128)):(e.openBlock(),e.createElementBlock("i",o))],2)):e.createCommentVNode("",!0)],46,i))},module.exports=s;
1
+ "use strict";var t=require("primevue/icons/spinner"),e=require("primevue/utils"),s=require("vue");function i(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var o={name:"VirtualScroller",emits:["update:numToleratedItems","scroll","scroll-index-change","lazy-load"],props:{id:{type:String,default:null},style:null,class:null,items:{type:Array,default:null},itemSize:{type:[Number,Array],default:0},scrollHeight:null,scrollWidth:null,orientation:{type:String,default:"vertical"},numToleratedItems:{type:Number,default:null},delay:{type:Number,default:0},resizeDelay:{type:Number,default:10},lazy:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loaderDisabled:{type:Boolean,default:!1},columns:{type:Array,default:null},loading:{type:Boolean,default:!1},showSpacer:{type:Boolean,default:!0},showLoader:{type:Boolean,default:!1},tabindex:{type:Number,default:0},inline:{type:Boolean,default:!1},step:{type:Number,default:0},appendOnly:{type:Boolean,default:!1},autoSize:{type:Boolean,default:!1}},data(){return{first:this.isBoth()?{rows:0,cols:0}:0,last:this.isBoth()?{rows:0,cols:0}:0,page:this.isBoth()?{rows:0,cols:0}:0,numItemsInViewport:this.isBoth()?{rows:0,cols:0}:0,lastScrollPos:this.isBoth()?{top:0,left:0}:0,d_numToleratedItems:this.numToleratedItems,d_loading:this.loading,loaderArr:[],spacerStyle:{},contentStyle:{}}},element:null,content:null,lastScrollPos:null,scrollTimeout:null,resizeTimeout:null,defaultWidth:0,defaultHeight:0,defaultContentWidth:0,defaultContentHeight:0,isRangeChanged:!1,lazyLoadState:{},resizeListener:null,initialized:!1,watch:{numToleratedItems(t){this.d_numToleratedItems=t},loading(t){this.d_loading=t},items(t,e){e&&e.length===(t||[]).length||(this.init(),this.calculateAutoSize())},itemSize(){this.init(),this.calculateAutoSize()},orientation(){this.lastScrollPos=this.isBoth()?{top:0,left:0}:0},scrollHeight(){this.init(),this.calculateAutoSize()},scrollWidth(){this.init(),this.calculateAutoSize()}},mounted(){this.viewInit(),this.lastScrollPos=this.isBoth()?{top:0,left:0}:0,this.lazyLoadState=this.lazyLoadState||{}},updated(){!this.initialized&&this.viewInit()},unmounted(){this.unbindResizeListener(),this.initialized=!1},methods:{viewInit(){e.DomHandler.isVisible(this.element)&&(this.setContentEl(this.content),this.init(),this.bindResizeListener(),this.defaultWidth=e.DomHandler.getWidth(this.element),this.defaultHeight=e.DomHandler.getHeight(this.element),this.defaultContentWidth=e.DomHandler.getWidth(this.content),this.defaultContentHeight=e.DomHandler.getHeight(this.content),this.initialized=!0)},init(){this.disabled||(this.setSize(),this.calculateOptions(),this.setSpacerSize())},isVertical(){return"vertical"===this.orientation},isHorizontal(){return"horizontal"===this.orientation},isBoth(){return"both"===this.orientation},scrollTo(t){this.lastScrollPos=this.both?{top:0,left:0}:0,this.element&&this.element.scrollTo(t)},scrollToIndex(t,e="auto"){const s=this.isBoth(),i=this.isHorizontal(),o=this.first,{numToleratedItems:l}=this.calculateNumItems(),n=this.getContentPosition(),r=this.itemSize,h=(t=0,e)=>t<=e?0:t,a=(t,e,s)=>t*e+s,d=(t=0,s=0)=>this.scrollTo({left:t,top:s,behavior:e});let c=s?{rows:0,cols:0}:0,m=!1;s?(c={rows:h(t[0],l[0]),cols:h(t[1],l[1])},d(a(c.cols,r[1],n.left),a(c.rows,r[0],n.top)),m=c.rows!==o.rows||c.cols!==o.cols):(c=h(t,l),i?d(a(c,r,n.left),0):d(0,a(c,r,n.top)),m=c!==o),this.isRangeChanged=m,this.first=c},scrollInView(t,e,s="auto"){if(e){const i=this.isBoth(),o=this.isHorizontal(),{first:l,viewport:n}=this.getRenderedRange(),r=(t=0,e=0)=>this.scrollTo({left:t,top:e,behavior:s}),h="to-end"===e;if("to-start"===e){if(i)n.first.rows-l.rows>t[0]?r(n.first.cols*this.itemSize[1],(n.first.rows-1)*this.itemSize[0]):n.first.cols-l.cols>t[1]&&r((n.first.cols-1)*this.itemSize[1],n.first.rows*this.itemSize[0]);else if(n.first-l>t){const t=(n.first-1)*this.itemSize;o?r(t,0):r(0,t)}}else if(h)if(i)n.last.rows-l.rows<=t[0]+1?r(n.first.cols*this.itemSize[1],(n.first.rows+1)*this.itemSize[0]):n.last.cols-l.cols<=t[1]+1&&r((n.first.cols+1)*this.itemSize[1],n.first.rows*this.itemSize[0]);else if(n.last-l<=t+1){const t=(n.first+1)*this.itemSize;o?r(t,0):r(0,t)}}else this.scrollToIndex(t,s)},getRenderedRange(){const t=(t,e)=>Math.floor(t/(e||t));let e=this.first,s=0;if(this.element){const i=this.isBoth(),o=this.isHorizontal(),{scrollTop:l,scrollLeft:n}=this.element.scrollTop;if(i)e={rows:t(l,this.itemSize[0]),cols:t(n,this.itemSize[1])},s={rows:e.rows+this.numItemsInViewport.rows,cols:e.cols+this.numItemsInViewport.cols};else{e=t(o?n:l,this.itemSize),s=e+this.numItemsInViewport}}return{first:this.first,last:this.last,viewport:{first:e,last:s}}},calculateNumItems(){const t=this.isBoth(),e=this.isHorizontal(),s=this.itemSize,i=this.getContentPosition(),o=this.element?this.element.offsetWidth-i.left:0,l=this.element?this.element.offsetHeight-i.top:0,n=(t,e)=>Math.ceil(t/(e||t)),r=t=>Math.ceil(t/2),h=t?{rows:n(l,s[0]),cols:n(o,s[1])}:n(e?o:l,s);return{numItemsInViewport:h,numToleratedItems:this.d_numToleratedItems||(t?[r(h.rows),r(h.cols)]:r(h))}},calculateOptions(){const t=this.isBoth(),e=this.first,{numItemsInViewport:s,numToleratedItems:i}=this.calculateNumItems(),o=(t,e,s,i=!1)=>this.getLast(t+e+(t<s?2:3)*s,i),l=t?{rows:o(e.rows,s.rows,i[0]),cols:o(e.cols,s.cols,i[1],!0)}:o(e,s,i);this.last=l,this.numItemsInViewport=s,this.d_numToleratedItems=i,this.$emit("update:numToleratedItems",this.d_numToleratedItems),this.showLoader&&(this.loaderArr=t?Array.from({length:s.rows}).map((()=>Array.from({length:s.cols}))):Array.from({length:s})),this.lazy&&Promise.resolve().then((()=>{this.lazyLoadState={first:this.step?t?{rows:0,cols:e.cols}:0:e,last:Math.min(this.step?this.step:l,this.items.length)},this.$emit("lazy-load",this.lazyLoadState)}))},calculateAutoSize(){this.autoSize&&!this.d_loading&&Promise.resolve().then((()=>{if(this.content){const t=this.isBoth(),s=this.isHorizontal(),i=this.isVertical();this.content.style.minHeight=this.content.style.minWidth="auto",this.content.style.position="relative",this.element.style.contain="none";const[o,l]=[e.DomHandler.getWidth(this.content),e.DomHandler.getHeight(this.content)];o!==this.defaultContentWidth&&(this.element.style.width=""),l!==this.defaultContentHeight&&(this.element.style.height="");const[n,r]=[e.DomHandler.getWidth(this.element),e.DomHandler.getHeight(this.element)];(t||s)&&(this.element.style.width=n<this.defaultWidth?n+"px":this.scrollWidth||this.defaultWidth+"px"),(t||i)&&(this.element.style.height=r<this.defaultHeight?r+"px":this.scrollHeight||this.defaultHeight+"px"),this.content.style.minHeight=this.content.style.minWidth="",this.content.style.position="",this.element.style.contain=""}}))},getLast(t=0,e){return this.items?Math.min(e?(this.columns||this.items[0]).length:this.items.length,t):0},getContentPosition(){if(this.content){const t=getComputedStyle(this.content),e=parseFloat(t.paddingLeft)+Math.max(parseFloat(t.left)||0,0),s=parseFloat(t.paddingRight)+Math.max(parseFloat(t.right)||0,0),i=parseFloat(t.paddingTop)+Math.max(parseFloat(t.top)||0,0),o=parseFloat(t.paddingBottom)+Math.max(parseFloat(t.bottom)||0,0);return{left:e,right:s,top:i,bottom:o,x:e+s,y:i+o}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},setSize(){if(this.element){const t=this.isBoth(),e=this.isHorizontal(),s=this.element.parentElement,i=this.scrollWidth||`${this.element.offsetWidth||s.offsetWidth}px`,o=this.scrollHeight||`${this.element.offsetHeight||s.offsetHeight}px`,l=(t,e)=>this.element.style[t]=e;t||e?(l("height",o),l("width",i)):l("height",o)}},setSpacerSize(){const t=this.items;if(t){const e=this.isBoth(),s=this.isHorizontal(),i=this.getContentPosition(),o=(t,e,s,i=0)=>this.spacerStyle={...this.spacerStyle,[`${t}`]:(e||[]).length*s+i+"px"};e?(o("height",t,this.itemSize[0],i.y),o("width",this.columns||t[1],this.itemSize[1],i.x)):s?o("width",this.columns||t,this.itemSize,i.x):o("height",t,this.itemSize,i.y)}},setContentPosition(t){if(this.content&&!this.appendOnly){const e=this.isBoth(),s=this.isHorizontal(),i=t?t.first:this.first,o=(t,e)=>t*e,l=(t=0,e=0)=>this.contentStyle={...this.contentStyle,transform:`translate3d(${t}px, ${e}px, 0)`};if(e)l(o(i.cols,this.itemSize[1]),o(i.rows,this.itemSize[0]));else{const t=o(i,this.itemSize);s?l(t,0):l(0,t)}}},onScrollPositionChange(t){const e=t.target,s=this.isBoth(),i=this.isHorizontal(),o=this.getContentPosition(),l=(t,e)=>t?t>e?t-e:t:0,n=(t,e)=>Math.floor(t/(e||t)),r=(t,e,s,i,o,l)=>t<=o?o:l?s-i-o:e+o-1,h=(t,e,s,i,o,l,n)=>t<=l?0:Math.max(0,n?t<e?s:t-l:t>e?s:t-2*l),a=(t,e,s,i,o,l)=>{let n=e+i+2*o;return t>=o&&(n+=o+1),this.getLast(n,l)},d=l(e.scrollTop,o.top),c=l(e.scrollLeft,o.left);let m=s?{rows:0,cols:0}:0,u=this.last,p=!1,f=this.lastScrollPos;if(s){const t=this.lastScrollPos.top<=d,e=this.lastScrollPos.left<=c;if(!this.appendOnly||this.appendOnly&&(t||e)){const s={rows:n(d,this.itemSize[0]),cols:n(c,this.itemSize[1])},i={rows:r(s.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],t),cols:r(s.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],e)};m={rows:h(s.rows,i.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],t),cols:h(s.cols,i.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],e)},u={rows:a(s.rows,m.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0]),cols:a(s.cols,m.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],!0)},p=m.rows!==this.first.rows||u.rows!==this.last.rows||m.cols!==this.first.cols||u.cols!==this.last.cols||this.isRangeChanged,f={top:d,left:c}}}else{const t=i?c:d,e=this.lastScrollPos<=t;if(!this.appendOnly||this.appendOnly&&e){const s=n(t,this.itemSize);m=h(s,r(s,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,e),this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,e),u=a(s,m,this.last,this.numItemsInViewport,this.d_numToleratedItems),p=m!==this.first||u!==this.last||this.isRangeChanged,f=t}}return{first:m,last:u,isRangeChanged:p,scrollPos:f}},onScrollChange(t){const{first:e,last:s,isRangeChanged:i,scrollPos:o}=this.onScrollPositionChange(t);if(i){const t={first:e,last:s};if(this.setContentPosition(t),this.first=e,this.last=s,this.lastScrollPos=o,this.$emit("scroll-index-change",t),this.lazy&&this.isPageChanged(e)){const t={first:this.step?Math.min(this.getPageByFirst(e)*this.step,this.items.length-this.step):e,last:Math.min(this.step?(this.getPageByFirst(e)+1)*this.step:s,this.items.length)};(this.lazyLoadState.first!==t.first||this.lazyLoadState.last!==t.last)&&this.$emit("lazy-load",t),this.lazyLoadState=t}}},onScroll(t){if(this.$emit("scroll",t),this.delay&&this.isPageChanged()){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),!this.d_loading&&this.showLoader){const{isRangeChanged:e}=this.onScrollPositionChange(t);(e||!!this.step&&this.isPageChanged())&&(this.d_loading=!0)}this.scrollTimeout=setTimeout((()=>{this.onScrollChange(t),!this.d_loading||!this.showLoader||this.lazy&&void 0!==this.loading||(this.d_loading=!1,this.page=this.getPageByFirst())}),this.delay)}else this.onScrollChange(t)},onResize(){this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout((()=>{if(e.DomHandler.isVisible(this.element)){const t=this.isBoth(),s=this.isVertical(),i=this.isHorizontal(),[o,l]=[e.DomHandler.getWidth(this.element),e.DomHandler.getHeight(this.element)],[n,r]=[o!==this.defaultWidth,l!==this.defaultHeight];(t?n||r:i?n:!!s&&r)&&(this.d_numToleratedItems=this.numToleratedItems,this.defaultWidth=o,this.defaultHeight=l,this.defaultContentWidth=e.DomHandler.getWidth(this.content),this.defaultContentHeight=e.DomHandler.getHeight(this.content),this.init())}}),this.resizeDelay)},bindResizeListener(){this.resizeListener||(this.resizeListener=this.onResize.bind(this),window.addEventListener("resize",this.resizeListener),window.addEventListener("orientationchange",this.resizeListener))},unbindResizeListener(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),window.removeEventListener("orientationchange",this.resizeListener),this.resizeListener=null)},getOptions(t){const e=(this.items||[]).length,s=this.isBoth()?this.first.rows+t:this.first+t;return{index:s,count:e,first:0===s,last:s===e-1,even:s%2==0,odd:s%2!=0}},getLoaderOptions(t,e){let s=this.loaderArr.length;return{index:t,count:s,first:0===t,last:t===s-1,even:t%2==0,odd:t%2!=0,...e}},getPageByFirst(t){return Math.floor(((t??this.first)+4*this.d_numToleratedItems)/(this.step||1))},isPageChanged(t){return!this.step||this.page!==this.getPageByFirst(t??this.first)},setContentEl(t){this.content=t||this.content||e.DomHandler.findSingle(this.element,".p-virtualscroller-content")},elementRef(t){this.element=t},contentRef(t){this.content=t}},computed:{containerClass(){return["p-virtualscroller",{"p-virtualscroller-inline":this.inline,"p-virtualscroller-both p-both-scroll":this.isBoth(),"p-virtualscroller-horizontal p-horizontal-scroll":this.isHorizontal()},this.class]},contentClass(){return["p-virtualscroller-content",{"p-virtualscroller-loading":this.d_loading}]},loaderClass(){return["p-virtualscroller-loader",{"p-component-overlay":!this.$slots.loader}]},loadedItems(){return this.items&&!this.d_loading?this.isBoth()?this.items.slice(this.appendOnly?0:this.first.rows,this.last.rows).map((t=>this.columns?t:t.slice(this.appendOnly?0:this.first.cols,this.last.cols))):this.isHorizontal()&&this.columns?this.items:this.items.slice(this.appendOnly?0:this.first,this.last):[]},loadedRows(){return this.d_loading?this.loaderDisabled?this.loaderArr:[]:this.loadedItems},loadedColumns(){if(this.columns){const t=this.isBoth(),e=this.isHorizontal();if(t||e)return this.d_loading&&this.loaderDisabled?t?this.loaderArr[0]:this.loaderArr:this.columns.slice(t?this.first.cols:this.first,t?this.last.cols:this.last)}return this.columns}},components:{SpinnerIcon:i(t).default}};const l=["tabindex"];!function(t,e){void 0===e&&(e={});var s=e.insertAt;if(t&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===s&&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 transform: translateZ(0);\n will-change: scroll-position;\n outline: 0 none;\n}\n.p-virtualscroller-content {\n position: absolute;\n top: 0;\n left: 0;\n /* contain: content; */\n min-height: 100%;\n min-width: 100%;\n will-change: transform;\n}\n.p-virtualscroller-spacer {\n position: absolute;\n top: 0;\n left: 0;\n height: 1px;\n width: 1px;\n 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: flex;\n align-items: center;\n justify-content: center;\n}\n.p-virtualscroller-loading-icon {\n font-size: 2rem;\n}\n.p-virtualscroller-loading-icon.p-icon {\n width: 2rem;\n height: 2rem;\n}\n.p-virtualscroller-horizontal > .p-virtualscroller-content {\n display: flex;\n}\n\n/* Inline */\n.p-virtualscroller-inline .p-virtualscroller-content {\n position: static;\n}\n"),o.render=function(t,e,i,o,n,r){const h=s.resolveComponent("SpinnerIcon");return i.disabled?(s.openBlock(),s.createElementBlock(s.Fragment,{key:1},[s.renderSlot(t.$slots,"default"),s.renderSlot(t.$slots,"content",{items:i.items,rows:i.items,columns:r.loadedColumns})],64)):(s.openBlock(),s.createElementBlock("div",{key:0,ref:r.elementRef,class:s.normalizeClass(r.containerClass),tabindex:i.tabindex,style:s.normalizeStyle(i.style),onScroll:e[0]||(e[0]=(...t)=>r.onScroll&&r.onScroll(...t))},[s.renderSlot(t.$slots,"content",{styleClass:r.contentClass,items:r.loadedItems,getItemOptions:r.getOptions,loading:n.d_loading,getLoaderOptions:r.getLoaderOptions,itemSize:i.itemSize,rows:r.loadedRows,columns:r.loadedColumns,contentRef:r.contentRef,spacerStyle:n.spacerStyle,contentStyle:n.contentStyle,vertical:r.isVertical(),horizontal:r.isHorizontal(),both:r.isBoth()},(()=>[s.createElementVNode("div",{ref:r.contentRef,class:s.normalizeClass(r.contentClass),style:s.normalizeStyle(n.contentStyle)},[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(r.loadedItems,((e,i)=>s.renderSlot(t.$slots,"item",{key:i,item:e,options:r.getOptions(i)}))),128))],6)])),i.showSpacer?(s.openBlock(),s.createElementBlock("div",{key:0,class:"p-virtualscroller-spacer",style:s.normalizeStyle(n.spacerStyle)},null,4)):s.createCommentVNode("",!0),!i.loaderDisabled&&i.showLoader&&n.d_loading?(s.openBlock(),s.createElementBlock("div",{key:1,class:s.normalizeClass(r.loaderClass)},[t.$slots&&t.$slots.loader?(s.openBlock(!0),s.createElementBlock(s.Fragment,{key:0},s.renderList(n.loaderArr,((e,i)=>s.renderSlot(t.$slots,"loader",{key:i,options:r.getLoaderOptions(i,r.isBoth()&&{numCols:t.d_numItemsInViewport.cols})}))),128)):s.createCommentVNode("",!0),s.renderSlot(t.$slots,"loadingicon",{},(()=>[s.createVNode(h,{spin:"",class:"p-virtualscroller-loading-icon"})]))],2)):s.createCommentVNode("",!0)],46,l))},module.exports=o;
@@ -1,5 +1,6 @@
1
+ import SpinnerIcon from 'primevue/icons/spinner';
1
2
  import { DomHandler } from 'primevue/utils';
2
- import { openBlock, createElementBlock, normalizeClass, normalizeStyle, renderSlot, createElementVNode, Fragment, renderList, createCommentVNode } from 'vue';
3
+ import { resolveComponent, openBlock, createElementBlock, normalizeClass, normalizeStyle, renderSlot, createElementVNode, Fragment, renderList, createCommentVNode, createVNode } from 'vue';
3
4
 
4
5
  var script = {
5
6
  name: 'VirtualScroller',
@@ -699,16 +700,17 @@ var script = {
699
700
 
700
701
  return this.columns;
701
702
  }
703
+ },
704
+ components: {
705
+ SpinnerIcon: SpinnerIcon
702
706
  }
703
707
  };
704
708
 
705
709
  const _hoisted_1 = ["tabindex"];
706
- const _hoisted_2 = {
707
- key: 1,
708
- class: "p-virtualscroller-loading-icon pi pi-spinner pi-spin"
709
- };
710
710
 
711
711
  function render(_ctx, _cache, $props, $setup, $data, $options) {
712
+ const _component_SpinnerIcon = resolveComponent("SpinnerIcon");
713
+
712
714
  return (!$props.disabled)
713
715
  ? (openBlock(), createElementBlock("div", {
714
716
  key: 0,
@@ -767,7 +769,13 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
767
769
  options: $options.getLoaderOptions(index, $options.isBoth() && { numCols: _ctx.d_numItemsInViewport.cols })
768
770
  })
769
771
  }), 128))
770
- : (openBlock(), createElementBlock("i", _hoisted_2))
772
+ : createCommentVNode("", true),
773
+ renderSlot(_ctx.$slots, "loadingicon", {}, () => [
774
+ createVNode(_component_SpinnerIcon, {
775
+ spin: "",
776
+ class: "p-virtualscroller-loading-icon"
777
+ })
778
+ ])
771
779
  ], 2))
772
780
  : createCommentVNode("", true)
773
781
  ], 46, _hoisted_1))
@@ -808,7 +816,7 @@ function styleInject(css, ref) {
808
816
  }
809
817
  }
810
818
 
811
- var css_248z = "\n.p-virtualscroller {\n position: relative;\n overflow: auto;\n contain: strict;\n transform: translateZ(0);\n will-change: scroll-position;\n outline: 0 none;\n}\n.p-virtualscroller-content {\n position: absolute;\n top: 0;\n left: 0;\n /* contain: content; */\n min-height: 100%;\n min-width: 100%;\n will-change: transform;\n}\n.p-virtualscroller-spacer {\n position: absolute;\n top: 0;\n left: 0;\n height: 1px;\n width: 1px;\n 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: flex;\n align-items: center;\n justify-content: center;\n}\n.p-virtualscroller-loading-icon {\n font-size: 2rem;\n}\n.p-virtualscroller-horizontal > .p-virtualscroller-content {\n display: flex;\n}\n\n/* Inline */\n.p-virtualscroller-inline .p-virtualscroller-content {\n position: static;\n}\n";
819
+ var css_248z = "\n.p-virtualscroller {\n position: relative;\n overflow: auto;\n contain: strict;\n transform: translateZ(0);\n will-change: scroll-position;\n outline: 0 none;\n}\n.p-virtualscroller-content {\n position: absolute;\n top: 0;\n left: 0;\n /* contain: content; */\n min-height: 100%;\n min-width: 100%;\n will-change: transform;\n}\n.p-virtualscroller-spacer {\n position: absolute;\n top: 0;\n left: 0;\n height: 1px;\n width: 1px;\n 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: flex;\n align-items: center;\n justify-content: center;\n}\n.p-virtualscroller-loading-icon {\n font-size: 2rem;\n}\n.p-virtualscroller-loading-icon.p-icon {\n width: 2rem;\n height: 2rem;\n}\n.p-virtualscroller-horizontal > .p-virtualscroller-content {\n display: flex;\n}\n\n/* Inline */\n.p-virtualscroller-inline .p-virtualscroller-content {\n position: static;\n}\n";
812
820
  styleInject(css_248z);
813
821
 
814
822
  script.render = render;
@@ -1 +1 @@
1
- import{DomHandler as t}from"primevue/utils";import{openBlock as e,createElementBlock as s,normalizeClass as i,normalizeStyle as o,renderSlot as l,createElementVNode as n,Fragment as h,renderList as r,createCommentVNode as a}from"vue";var d={name:"VirtualScroller",emits:["update:numToleratedItems","scroll","scroll-index-change","lazy-load"],props:{id:{type:String,default:null},style:null,class:null,items:{type:Array,default:null},itemSize:{type:[Number,Array],default:0},scrollHeight:null,scrollWidth:null,orientation:{type:String,default:"vertical"},numToleratedItems:{type:Number,default:null},delay:{type:Number,default:0},resizeDelay:{type:Number,default:10},lazy:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loaderDisabled:{type:Boolean,default:!1},columns:{type:Array,default:null},loading:{type:Boolean,default:!1},showSpacer:{type:Boolean,default:!0},showLoader:{type:Boolean,default:!1},tabindex:{type:Number,default:0},inline:{type:Boolean,default:!1},step:{type:Number,default:0},appendOnly:{type:Boolean,default:!1},autoSize:{type:Boolean,default:!1}},data(){return{first:this.isBoth()?{rows:0,cols:0}:0,last:this.isBoth()?{rows:0,cols:0}:0,page:this.isBoth()?{rows:0,cols:0}:0,numItemsInViewport:this.isBoth()?{rows:0,cols:0}:0,lastScrollPos:this.isBoth()?{top:0,left:0}:0,d_numToleratedItems:this.numToleratedItems,d_loading:this.loading,loaderArr:[],spacerStyle:{},contentStyle:{}}},element:null,content:null,lastScrollPos:null,scrollTimeout:null,resizeTimeout:null,defaultWidth:0,defaultHeight:0,defaultContentWidth:0,defaultContentHeight:0,isRangeChanged:!1,lazyLoadState:{},resizeListener:null,initialized:!1,watch:{numToleratedItems(t){this.d_numToleratedItems=t},loading(t){this.d_loading=t},items(t,e){e&&e.length===(t||[]).length||(this.init(),this.calculateAutoSize())},itemSize(){this.init(),this.calculateAutoSize()},orientation(){this.lastScrollPos=this.isBoth()?{top:0,left:0}:0},scrollHeight(){this.init(),this.calculateAutoSize()},scrollWidth(){this.init(),this.calculateAutoSize()}},mounted(){this.viewInit(),this.lastScrollPos=this.isBoth()?{top:0,left:0}:0,this.lazyLoadState=this.lazyLoadState||{}},updated(){!this.initialized&&this.viewInit()},unmounted(){this.unbindResizeListener(),this.initialized=!1},methods:{viewInit(){t.isVisible(this.element)&&(this.setContentEl(this.content),this.init(),this.bindResizeListener(),this.defaultWidth=t.getWidth(this.element),this.defaultHeight=t.getHeight(this.element),this.defaultContentWidth=t.getWidth(this.content),this.defaultContentHeight=t.getHeight(this.content),this.initialized=!0)},init(){this.disabled||(this.setSize(),this.calculateOptions(),this.setSpacerSize())},isVertical(){return"vertical"===this.orientation},isHorizontal(){return"horizontal"===this.orientation},isBoth(){return"both"===this.orientation},scrollTo(t){this.lastScrollPos=this.both?{top:0,left:0}:0,this.element&&this.element.scrollTo(t)},scrollToIndex(t,e="auto"){const s=this.isBoth(),i=this.isHorizontal(),o=this.first,{numToleratedItems:l}=this.calculateNumItems(),n=this.getContentPosition(),h=this.itemSize,r=(t=0,e)=>t<=e?0:t,a=(t,e,s)=>t*e+s,d=(t=0,s=0)=>this.scrollTo({left:t,top:s,behavior:e});let c=s?{rows:0,cols:0}:0,m=!1;s?(c={rows:r(t[0],l[0]),cols:r(t[1],l[1])},d(a(c.cols,h[1],n.left),a(c.rows,h[0],n.top)),m=c.rows!==o.rows||c.cols!==o.cols):(c=r(t,l),i?d(a(c,h,n.left),0):d(0,a(c,h,n.top)),m=c!==o),this.isRangeChanged=m,this.first=c},scrollInView(t,e,s="auto"){if(e){const i=this.isBoth(),o=this.isHorizontal(),{first:l,viewport:n}=this.getRenderedRange(),h=(t=0,e=0)=>this.scrollTo({left:t,top:e,behavior:s}),r="to-end"===e;if("to-start"===e){if(i)n.first.rows-l.rows>t[0]?h(n.first.cols*this.itemSize[1],(n.first.rows-1)*this.itemSize[0]):n.first.cols-l.cols>t[1]&&h((n.first.cols-1)*this.itemSize[1],n.first.rows*this.itemSize[0]);else if(n.first-l>t){const t=(n.first-1)*this.itemSize;o?h(t,0):h(0,t)}}else if(r)if(i)n.last.rows-l.rows<=t[0]+1?h(n.first.cols*this.itemSize[1],(n.first.rows+1)*this.itemSize[0]):n.last.cols-l.cols<=t[1]+1&&h((n.first.cols+1)*this.itemSize[1],n.first.rows*this.itemSize[0]);else if(n.last-l<=t+1){const t=(n.first+1)*this.itemSize;o?h(t,0):h(0,t)}}else this.scrollToIndex(t,s)},getRenderedRange(){const t=(t,e)=>Math.floor(t/(e||t));let e=this.first,s=0;if(this.element){const i=this.isBoth(),o=this.isHorizontal(),{scrollTop:l,scrollLeft:n}=this.element.scrollTop;if(i)e={rows:t(l,this.itemSize[0]),cols:t(n,this.itemSize[1])},s={rows:e.rows+this.numItemsInViewport.rows,cols:e.cols+this.numItemsInViewport.cols};else{e=t(o?n:l,this.itemSize),s=e+this.numItemsInViewport}}return{first:this.first,last:this.last,viewport:{first:e,last:s}}},calculateNumItems(){const t=this.isBoth(),e=this.isHorizontal(),s=this.itemSize,i=this.getContentPosition(),o=this.element?this.element.offsetWidth-i.left:0,l=this.element?this.element.offsetHeight-i.top:0,n=(t,e)=>Math.ceil(t/(e||t)),h=t=>Math.ceil(t/2),r=t?{rows:n(l,s[0]),cols:n(o,s[1])}:n(e?o:l,s);return{numItemsInViewport:r,numToleratedItems:this.d_numToleratedItems||(t?[h(r.rows),h(r.cols)]:h(r))}},calculateOptions(){const t=this.isBoth(),e=this.first,{numItemsInViewport:s,numToleratedItems:i}=this.calculateNumItems(),o=(t,e,s,i=!1)=>this.getLast(t+e+(t<s?2:3)*s,i),l=t?{rows:o(e.rows,s.rows,i[0]),cols:o(e.cols,s.cols,i[1],!0)}:o(e,s,i);this.last=l,this.numItemsInViewport=s,this.d_numToleratedItems=i,this.$emit("update:numToleratedItems",this.d_numToleratedItems),this.showLoader&&(this.loaderArr=t?Array.from({length:s.rows}).map((()=>Array.from({length:s.cols}))):Array.from({length:s})),this.lazy&&Promise.resolve().then((()=>{this.lazyLoadState={first:this.step?t?{rows:0,cols:e.cols}:0:e,last:Math.min(this.step?this.step:l,this.items.length)},this.$emit("lazy-load",this.lazyLoadState)}))},calculateAutoSize(){this.autoSize&&!this.d_loading&&Promise.resolve().then((()=>{if(this.content){const e=this.isBoth(),s=this.isHorizontal(),i=this.isVertical();this.content.style.minHeight=this.content.style.minWidth="auto",this.content.style.position="relative",this.element.style.contain="none";const[o,l]=[t.getWidth(this.content),t.getHeight(this.content)];o!==this.defaultContentWidth&&(this.element.style.width=""),l!==this.defaultContentHeight&&(this.element.style.height="");const[n,h]=[t.getWidth(this.element),t.getHeight(this.element)];(e||s)&&(this.element.style.width=n<this.defaultWidth?n+"px":this.scrollWidth||this.defaultWidth+"px"),(e||i)&&(this.element.style.height=h<this.defaultHeight?h+"px":this.scrollHeight||this.defaultHeight+"px"),this.content.style.minHeight=this.content.style.minWidth="",this.content.style.position="",this.element.style.contain=""}}))},getLast(t=0,e){return this.items?Math.min(e?(this.columns||this.items[0]).length:this.items.length,t):0},getContentPosition(){if(this.content){const t=getComputedStyle(this.content),e=parseFloat(t.paddingLeft)+Math.max(parseFloat(t.left)||0,0),s=parseFloat(t.paddingRight)+Math.max(parseFloat(t.right)||0,0),i=parseFloat(t.paddingTop)+Math.max(parseFloat(t.top)||0,0),o=parseFloat(t.paddingBottom)+Math.max(parseFloat(t.bottom)||0,0);return{left:e,right:s,top:i,bottom:o,x:e+s,y:i+o}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},setSize(){if(this.element){const t=this.isBoth(),e=this.isHorizontal(),s=this.element.parentElement,i=this.scrollWidth||`${this.element.offsetWidth||s.offsetWidth}px`,o=this.scrollHeight||`${this.element.offsetHeight||s.offsetHeight}px`,l=(t,e)=>this.element.style[t]=e;t||e?(l("height",o),l("width",i)):l("height",o)}},setSpacerSize(){const t=this.items;if(t){const e=this.isBoth(),s=this.isHorizontal(),i=this.getContentPosition(),o=(t,e,s,i=0)=>this.spacerStyle={...this.spacerStyle,[`${t}`]:(e||[]).length*s+i+"px"};e?(o("height",t,this.itemSize[0],i.y),o("width",this.columns||t[1],this.itemSize[1],i.x)):s?o("width",this.columns||t,this.itemSize,i.x):o("height",t,this.itemSize,i.y)}},setContentPosition(t){if(this.content&&!this.appendOnly){const e=this.isBoth(),s=this.isHorizontal(),i=t?t.first:this.first,o=(t,e)=>t*e,l=(t=0,e=0)=>this.contentStyle={...this.contentStyle,transform:`translate3d(${t}px, ${e}px, 0)`};if(e)l(o(i.cols,this.itemSize[1]),o(i.rows,this.itemSize[0]));else{const t=o(i,this.itemSize);s?l(t,0):l(0,t)}}},onScrollPositionChange(t){const e=t.target,s=this.isBoth(),i=this.isHorizontal(),o=this.getContentPosition(),l=(t,e)=>t?t>e?t-e:t:0,n=(t,e)=>Math.floor(t/(e||t)),h=(t,e,s,i,o,l)=>t<=o?o:l?s-i-o:e+o-1,r=(t,e,s,i,o,l,n)=>t<=l?0:Math.max(0,n?t<e?s:t-l:t>e?s:t-2*l),a=(t,e,s,i,o,l)=>{let n=e+i+2*o;return t>=o&&(n+=o+1),this.getLast(n,l)},d=l(e.scrollTop,o.top),c=l(e.scrollLeft,o.left);let m=s?{rows:0,cols:0}:0,u=this.last,p=!1,f=this.lastScrollPos;if(s){const t=this.lastScrollPos.top<=d,e=this.lastScrollPos.left<=c;if(!this.appendOnly||this.appendOnly&&(t||e)){const s={rows:n(d,this.itemSize[0]),cols:n(c,this.itemSize[1])},i={rows:h(s.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],t),cols:h(s.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],e)};m={rows:r(s.rows,i.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],t),cols:r(s.cols,i.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],e)},u={rows:a(s.rows,m.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0]),cols:a(s.cols,m.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],!0)},p=m.rows!==this.first.rows||u.rows!==this.last.rows||m.cols!==this.first.cols||u.cols!==this.last.cols||this.isRangeChanged,f={top:d,left:c}}}else{const t=i?c:d,e=this.lastScrollPos<=t;if(!this.appendOnly||this.appendOnly&&e){const s=n(t,this.itemSize);m=r(s,h(s,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,e),this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,e),u=a(s,m,this.last,this.numItemsInViewport,this.d_numToleratedItems),p=m!==this.first||u!==this.last||this.isRangeChanged,f=t}}return{first:m,last:u,isRangeChanged:p,scrollPos:f}},onScrollChange(t){const{first:e,last:s,isRangeChanged:i,scrollPos:o}=this.onScrollPositionChange(t);if(i){const t={first:e,last:s};if(this.setContentPosition(t),this.first=e,this.last=s,this.lastScrollPos=o,this.$emit("scroll-index-change",t),this.lazy&&this.isPageChanged(e)){const t={first:this.step?Math.min(this.getPageByFirst(e)*this.step,this.items.length-this.step):e,last:Math.min(this.step?(this.getPageByFirst(e)+1)*this.step:s,this.items.length)};(this.lazyLoadState.first!==t.first||this.lazyLoadState.last!==t.last)&&this.$emit("lazy-load",t),this.lazyLoadState=t}}},onScroll(t){if(this.$emit("scroll",t),this.delay&&this.isPageChanged()){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),!this.d_loading&&this.showLoader){const{isRangeChanged:e}=this.onScrollPositionChange(t);(e||!!this.step&&this.isPageChanged())&&(this.d_loading=!0)}this.scrollTimeout=setTimeout((()=>{this.onScrollChange(t),!this.d_loading||!this.showLoader||this.lazy&&void 0!==this.loading||(this.d_loading=!1,this.page=this.getPageByFirst())}),this.delay)}else this.onScrollChange(t)},onResize(){this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout((()=>{if(t.isVisible(this.element)){const e=this.isBoth(),s=this.isVertical(),i=this.isHorizontal(),[o,l]=[t.getWidth(this.element),t.getHeight(this.element)],[n,h]=[o!==this.defaultWidth,l!==this.defaultHeight];(e?n||h:i?n:!!s&&h)&&(this.d_numToleratedItems=this.numToleratedItems,this.defaultWidth=o,this.defaultHeight=l,this.defaultContentWidth=t.getWidth(this.content),this.defaultContentHeight=t.getHeight(this.content),this.init())}}),this.resizeDelay)},bindResizeListener(){this.resizeListener||(this.resizeListener=this.onResize.bind(this),window.addEventListener("resize",this.resizeListener),window.addEventListener("orientationchange",this.resizeListener))},unbindResizeListener(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),window.removeEventListener("orientationchange",this.resizeListener),this.resizeListener=null)},getOptions(t){const e=(this.items||[]).length,s=this.isBoth()?this.first.rows+t:this.first+t;return{index:s,count:e,first:0===s,last:s===e-1,even:s%2==0,odd:s%2!=0}},getLoaderOptions(t,e){let s=this.loaderArr.length;return{index:t,count:s,first:0===t,last:t===s-1,even:t%2==0,odd:t%2!=0,...e}},getPageByFirst(t){return Math.floor(((t??this.first)+4*this.d_numToleratedItems)/(this.step||1))},isPageChanged(t){return!this.step||this.page!==this.getPageByFirst(t??this.first)},setContentEl(e){this.content=e||this.content||t.findSingle(this.element,".p-virtualscroller-content")},elementRef(t){this.element=t},contentRef(t){this.content=t}},computed:{containerClass(){return["p-virtualscroller",{"p-virtualscroller-inline":this.inline,"p-virtualscroller-both p-both-scroll":this.isBoth(),"p-virtualscroller-horizontal p-horizontal-scroll":this.isHorizontal()},this.class]},contentClass(){return["p-virtualscroller-content",{"p-virtualscroller-loading":this.d_loading}]},loaderClass(){return["p-virtualscroller-loader",{"p-component-overlay":!this.$slots.loader}]},loadedItems(){return this.items&&!this.d_loading?this.isBoth()?this.items.slice(this.appendOnly?0:this.first.rows,this.last.rows).map((t=>this.columns?t:t.slice(this.appendOnly?0:this.first.cols,this.last.cols))):this.isHorizontal()&&this.columns?this.items:this.items.slice(this.appendOnly?0:this.first,this.last):[]},loadedRows(){return this.d_loading?this.loaderDisabled?this.loaderArr:[]:this.loadedItems},loadedColumns(){if(this.columns){const t=this.isBoth(),e=this.isHorizontal();if(t||e)return this.d_loading&&this.loaderDisabled?t?this.loaderArr[0]:this.loaderArr:this.columns.slice(t?this.first.cols:this.first,t?this.last.cols:this.last)}return this.columns}}};const c=["tabindex"],m={key:1,class:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"};!function(t,e){void 0===e&&(e={});var s=e.insertAt;if(t&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===s&&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 transform: translateZ(0);\n will-change: scroll-position;\n outline: 0 none;\n}\n.p-virtualscroller-content {\n position: absolute;\n top: 0;\n left: 0;\n /* contain: content; */\n min-height: 100%;\n min-width: 100%;\n will-change: transform;\n}\n.p-virtualscroller-spacer {\n position: absolute;\n top: 0;\n left: 0;\n height: 1px;\n width: 1px;\n 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: flex;\n align-items: center;\n justify-content: center;\n}\n.p-virtualscroller-loading-icon {\n font-size: 2rem;\n}\n.p-virtualscroller-horizontal > .p-virtualscroller-content {\n display: flex;\n}\n\n/* Inline */\n.p-virtualscroller-inline .p-virtualscroller-content {\n position: static;\n}\n"),d.render=function(t,d,u,p,f,g){return u.disabled?(e(),s(h,{key:1},[l(t.$slots,"default"),l(t.$slots,"content",{items:u.items,rows:u.items,columns:g.loadedColumns})],64)):(e(),s("div",{key:0,ref:g.elementRef,class:i(g.containerClass),tabindex:u.tabindex,style:o(u.style),onScroll:d[0]||(d[0]=(...t)=>g.onScroll&&g.onScroll(...t))},[l(t.$slots,"content",{styleClass:g.contentClass,items:g.loadedItems,getItemOptions:g.getOptions,loading:f.d_loading,getLoaderOptions:g.getLoaderOptions,itemSize:u.itemSize,rows:g.loadedRows,columns:g.loadedColumns,contentRef:g.contentRef,spacerStyle:f.spacerStyle,contentStyle:f.contentStyle,vertical:g.isVertical(),horizontal:g.isHorizontal(),both:g.isBoth()},(()=>[n("div",{ref:g.contentRef,class:i(g.contentClass),style:o(f.contentStyle)},[(e(!0),s(h,null,r(g.loadedItems,((e,s)=>l(t.$slots,"item",{key:s,item:e,options:g.getOptions(s)}))),128))],6)])),u.showSpacer?(e(),s("div",{key:0,class:"p-virtualscroller-spacer",style:o(f.spacerStyle)},null,4)):a("",!0),!u.loaderDisabled&&u.showLoader&&f.d_loading?(e(),s("div",{key:1,class:i(g.loaderClass)},[t.$slots&&t.$slots.loader?(e(!0),s(h,{key:0},r(f.loaderArr,((e,s)=>l(t.$slots,"loader",{key:s,options:g.getLoaderOptions(s,g.isBoth()&&{numCols:t.d_numItemsInViewport.cols})}))),128)):(e(),s("i",m))],2)):a("",!0)],46,c))};export{d as default};
1
+ import t from"primevue/icons/spinner";import{DomHandler as e}from"primevue/utils";import{resolveComponent as s,openBlock as i,createElementBlock as o,normalizeClass as l,normalizeStyle as n,renderSlot as h,createElementVNode as r,Fragment as a,renderList as d,createCommentVNode as c,createVNode as m}from"vue";var u={name:"VirtualScroller",emits:["update:numToleratedItems","scroll","scroll-index-change","lazy-load"],props:{id:{type:String,default:null},style:null,class:null,items:{type:Array,default:null},itemSize:{type:[Number,Array],default:0},scrollHeight:null,scrollWidth:null,orientation:{type:String,default:"vertical"},numToleratedItems:{type:Number,default:null},delay:{type:Number,default:0},resizeDelay:{type:Number,default:10},lazy:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loaderDisabled:{type:Boolean,default:!1},columns:{type:Array,default:null},loading:{type:Boolean,default:!1},showSpacer:{type:Boolean,default:!0},showLoader:{type:Boolean,default:!1},tabindex:{type:Number,default:0},inline:{type:Boolean,default:!1},step:{type:Number,default:0},appendOnly:{type:Boolean,default:!1},autoSize:{type:Boolean,default:!1}},data(){return{first:this.isBoth()?{rows:0,cols:0}:0,last:this.isBoth()?{rows:0,cols:0}:0,page:this.isBoth()?{rows:0,cols:0}:0,numItemsInViewport:this.isBoth()?{rows:0,cols:0}:0,lastScrollPos:this.isBoth()?{top:0,left:0}:0,d_numToleratedItems:this.numToleratedItems,d_loading:this.loading,loaderArr:[],spacerStyle:{},contentStyle:{}}},element:null,content:null,lastScrollPos:null,scrollTimeout:null,resizeTimeout:null,defaultWidth:0,defaultHeight:0,defaultContentWidth:0,defaultContentHeight:0,isRangeChanged:!1,lazyLoadState:{},resizeListener:null,initialized:!1,watch:{numToleratedItems(t){this.d_numToleratedItems=t},loading(t){this.d_loading=t},items(t,e){e&&e.length===(t||[]).length||(this.init(),this.calculateAutoSize())},itemSize(){this.init(),this.calculateAutoSize()},orientation(){this.lastScrollPos=this.isBoth()?{top:0,left:0}:0},scrollHeight(){this.init(),this.calculateAutoSize()},scrollWidth(){this.init(),this.calculateAutoSize()}},mounted(){this.viewInit(),this.lastScrollPos=this.isBoth()?{top:0,left:0}:0,this.lazyLoadState=this.lazyLoadState||{}},updated(){!this.initialized&&this.viewInit()},unmounted(){this.unbindResizeListener(),this.initialized=!1},methods:{viewInit(){e.isVisible(this.element)&&(this.setContentEl(this.content),this.init(),this.bindResizeListener(),this.defaultWidth=e.getWidth(this.element),this.defaultHeight=e.getHeight(this.element),this.defaultContentWidth=e.getWidth(this.content),this.defaultContentHeight=e.getHeight(this.content),this.initialized=!0)},init(){this.disabled||(this.setSize(),this.calculateOptions(),this.setSpacerSize())},isVertical(){return"vertical"===this.orientation},isHorizontal(){return"horizontal"===this.orientation},isBoth(){return"both"===this.orientation},scrollTo(t){this.lastScrollPos=this.both?{top:0,left:0}:0,this.element&&this.element.scrollTo(t)},scrollToIndex(t,e="auto"){const s=this.isBoth(),i=this.isHorizontal(),o=this.first,{numToleratedItems:l}=this.calculateNumItems(),n=this.getContentPosition(),h=this.itemSize,r=(t=0,e)=>t<=e?0:t,a=(t,e,s)=>t*e+s,d=(t=0,s=0)=>this.scrollTo({left:t,top:s,behavior:e});let c=s?{rows:0,cols:0}:0,m=!1;s?(c={rows:r(t[0],l[0]),cols:r(t[1],l[1])},d(a(c.cols,h[1],n.left),a(c.rows,h[0],n.top)),m=c.rows!==o.rows||c.cols!==o.cols):(c=r(t,l),i?d(a(c,h,n.left),0):d(0,a(c,h,n.top)),m=c!==o),this.isRangeChanged=m,this.first=c},scrollInView(t,e,s="auto"){if(e){const i=this.isBoth(),o=this.isHorizontal(),{first:l,viewport:n}=this.getRenderedRange(),h=(t=0,e=0)=>this.scrollTo({left:t,top:e,behavior:s}),r="to-end"===e;if("to-start"===e){if(i)n.first.rows-l.rows>t[0]?h(n.first.cols*this.itemSize[1],(n.first.rows-1)*this.itemSize[0]):n.first.cols-l.cols>t[1]&&h((n.first.cols-1)*this.itemSize[1],n.first.rows*this.itemSize[0]);else if(n.first-l>t){const t=(n.first-1)*this.itemSize;o?h(t,0):h(0,t)}}else if(r)if(i)n.last.rows-l.rows<=t[0]+1?h(n.first.cols*this.itemSize[1],(n.first.rows+1)*this.itemSize[0]):n.last.cols-l.cols<=t[1]+1&&h((n.first.cols+1)*this.itemSize[1],n.first.rows*this.itemSize[0]);else if(n.last-l<=t+1){const t=(n.first+1)*this.itemSize;o?h(t,0):h(0,t)}}else this.scrollToIndex(t,s)},getRenderedRange(){const t=(t,e)=>Math.floor(t/(e||t));let e=this.first,s=0;if(this.element){const i=this.isBoth(),o=this.isHorizontal(),{scrollTop:l,scrollLeft:n}=this.element.scrollTop;if(i)e={rows:t(l,this.itemSize[0]),cols:t(n,this.itemSize[1])},s={rows:e.rows+this.numItemsInViewport.rows,cols:e.cols+this.numItemsInViewport.cols};else{e=t(o?n:l,this.itemSize),s=e+this.numItemsInViewport}}return{first:this.first,last:this.last,viewport:{first:e,last:s}}},calculateNumItems(){const t=this.isBoth(),e=this.isHorizontal(),s=this.itemSize,i=this.getContentPosition(),o=this.element?this.element.offsetWidth-i.left:0,l=this.element?this.element.offsetHeight-i.top:0,n=(t,e)=>Math.ceil(t/(e||t)),h=t=>Math.ceil(t/2),r=t?{rows:n(l,s[0]),cols:n(o,s[1])}:n(e?o:l,s);return{numItemsInViewport:r,numToleratedItems:this.d_numToleratedItems||(t?[h(r.rows),h(r.cols)]:h(r))}},calculateOptions(){const t=this.isBoth(),e=this.first,{numItemsInViewport:s,numToleratedItems:i}=this.calculateNumItems(),o=(t,e,s,i=!1)=>this.getLast(t+e+(t<s?2:3)*s,i),l=t?{rows:o(e.rows,s.rows,i[0]),cols:o(e.cols,s.cols,i[1],!0)}:o(e,s,i);this.last=l,this.numItemsInViewport=s,this.d_numToleratedItems=i,this.$emit("update:numToleratedItems",this.d_numToleratedItems),this.showLoader&&(this.loaderArr=t?Array.from({length:s.rows}).map((()=>Array.from({length:s.cols}))):Array.from({length:s})),this.lazy&&Promise.resolve().then((()=>{this.lazyLoadState={first:this.step?t?{rows:0,cols:e.cols}:0:e,last:Math.min(this.step?this.step:l,this.items.length)},this.$emit("lazy-load",this.lazyLoadState)}))},calculateAutoSize(){this.autoSize&&!this.d_loading&&Promise.resolve().then((()=>{if(this.content){const t=this.isBoth(),s=this.isHorizontal(),i=this.isVertical();this.content.style.minHeight=this.content.style.minWidth="auto",this.content.style.position="relative",this.element.style.contain="none";const[o,l]=[e.getWidth(this.content),e.getHeight(this.content)];o!==this.defaultContentWidth&&(this.element.style.width=""),l!==this.defaultContentHeight&&(this.element.style.height="");const[n,h]=[e.getWidth(this.element),e.getHeight(this.element)];(t||s)&&(this.element.style.width=n<this.defaultWidth?n+"px":this.scrollWidth||this.defaultWidth+"px"),(t||i)&&(this.element.style.height=h<this.defaultHeight?h+"px":this.scrollHeight||this.defaultHeight+"px"),this.content.style.minHeight=this.content.style.minWidth="",this.content.style.position="",this.element.style.contain=""}}))},getLast(t=0,e){return this.items?Math.min(e?(this.columns||this.items[0]).length:this.items.length,t):0},getContentPosition(){if(this.content){const t=getComputedStyle(this.content),e=parseFloat(t.paddingLeft)+Math.max(parseFloat(t.left)||0,0),s=parseFloat(t.paddingRight)+Math.max(parseFloat(t.right)||0,0),i=parseFloat(t.paddingTop)+Math.max(parseFloat(t.top)||0,0),o=parseFloat(t.paddingBottom)+Math.max(parseFloat(t.bottom)||0,0);return{left:e,right:s,top:i,bottom:o,x:e+s,y:i+o}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},setSize(){if(this.element){const t=this.isBoth(),e=this.isHorizontal(),s=this.element.parentElement,i=this.scrollWidth||`${this.element.offsetWidth||s.offsetWidth}px`,o=this.scrollHeight||`${this.element.offsetHeight||s.offsetHeight}px`,l=(t,e)=>this.element.style[t]=e;t||e?(l("height",o),l("width",i)):l("height",o)}},setSpacerSize(){const t=this.items;if(t){const e=this.isBoth(),s=this.isHorizontal(),i=this.getContentPosition(),o=(t,e,s,i=0)=>this.spacerStyle={...this.spacerStyle,[`${t}`]:(e||[]).length*s+i+"px"};e?(o("height",t,this.itemSize[0],i.y),o("width",this.columns||t[1],this.itemSize[1],i.x)):s?o("width",this.columns||t,this.itemSize,i.x):o("height",t,this.itemSize,i.y)}},setContentPosition(t){if(this.content&&!this.appendOnly){const e=this.isBoth(),s=this.isHorizontal(),i=t?t.first:this.first,o=(t,e)=>t*e,l=(t=0,e=0)=>this.contentStyle={...this.contentStyle,transform:`translate3d(${t}px, ${e}px, 0)`};if(e)l(o(i.cols,this.itemSize[1]),o(i.rows,this.itemSize[0]));else{const t=o(i,this.itemSize);s?l(t,0):l(0,t)}}},onScrollPositionChange(t){const e=t.target,s=this.isBoth(),i=this.isHorizontal(),o=this.getContentPosition(),l=(t,e)=>t?t>e?t-e:t:0,n=(t,e)=>Math.floor(t/(e||t)),h=(t,e,s,i,o,l)=>t<=o?o:l?s-i-o:e+o-1,r=(t,e,s,i,o,l,n)=>t<=l?0:Math.max(0,n?t<e?s:t-l:t>e?s:t-2*l),a=(t,e,s,i,o,l)=>{let n=e+i+2*o;return t>=o&&(n+=o+1),this.getLast(n,l)},d=l(e.scrollTop,o.top),c=l(e.scrollLeft,o.left);let m=s?{rows:0,cols:0}:0,u=this.last,p=!1,f=this.lastScrollPos;if(s){const t=this.lastScrollPos.top<=d,e=this.lastScrollPos.left<=c;if(!this.appendOnly||this.appendOnly&&(t||e)){const s={rows:n(d,this.itemSize[0]),cols:n(c,this.itemSize[1])},i={rows:h(s.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],t),cols:h(s.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],e)};m={rows:r(s.rows,i.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],t),cols:r(s.cols,i.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],e)},u={rows:a(s.rows,m.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0]),cols:a(s.cols,m.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],!0)},p=m.rows!==this.first.rows||u.rows!==this.last.rows||m.cols!==this.first.cols||u.cols!==this.last.cols||this.isRangeChanged,f={top:d,left:c}}}else{const t=i?c:d,e=this.lastScrollPos<=t;if(!this.appendOnly||this.appendOnly&&e){const s=n(t,this.itemSize);m=r(s,h(s,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,e),this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,e),u=a(s,m,this.last,this.numItemsInViewport,this.d_numToleratedItems),p=m!==this.first||u!==this.last||this.isRangeChanged,f=t}}return{first:m,last:u,isRangeChanged:p,scrollPos:f}},onScrollChange(t){const{first:e,last:s,isRangeChanged:i,scrollPos:o}=this.onScrollPositionChange(t);if(i){const t={first:e,last:s};if(this.setContentPosition(t),this.first=e,this.last=s,this.lastScrollPos=o,this.$emit("scroll-index-change",t),this.lazy&&this.isPageChanged(e)){const t={first:this.step?Math.min(this.getPageByFirst(e)*this.step,this.items.length-this.step):e,last:Math.min(this.step?(this.getPageByFirst(e)+1)*this.step:s,this.items.length)};(this.lazyLoadState.first!==t.first||this.lazyLoadState.last!==t.last)&&this.$emit("lazy-load",t),this.lazyLoadState=t}}},onScroll(t){if(this.$emit("scroll",t),this.delay&&this.isPageChanged()){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),!this.d_loading&&this.showLoader){const{isRangeChanged:e}=this.onScrollPositionChange(t);(e||!!this.step&&this.isPageChanged())&&(this.d_loading=!0)}this.scrollTimeout=setTimeout((()=>{this.onScrollChange(t),!this.d_loading||!this.showLoader||this.lazy&&void 0!==this.loading||(this.d_loading=!1,this.page=this.getPageByFirst())}),this.delay)}else this.onScrollChange(t)},onResize(){this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout((()=>{if(e.isVisible(this.element)){const t=this.isBoth(),s=this.isVertical(),i=this.isHorizontal(),[o,l]=[e.getWidth(this.element),e.getHeight(this.element)],[n,h]=[o!==this.defaultWidth,l!==this.defaultHeight];(t?n||h:i?n:!!s&&h)&&(this.d_numToleratedItems=this.numToleratedItems,this.defaultWidth=o,this.defaultHeight=l,this.defaultContentWidth=e.getWidth(this.content),this.defaultContentHeight=e.getHeight(this.content),this.init())}}),this.resizeDelay)},bindResizeListener(){this.resizeListener||(this.resizeListener=this.onResize.bind(this),window.addEventListener("resize",this.resizeListener),window.addEventListener("orientationchange",this.resizeListener))},unbindResizeListener(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),window.removeEventListener("orientationchange",this.resizeListener),this.resizeListener=null)},getOptions(t){const e=(this.items||[]).length,s=this.isBoth()?this.first.rows+t:this.first+t;return{index:s,count:e,first:0===s,last:s===e-1,even:s%2==0,odd:s%2!=0}},getLoaderOptions(t,e){let s=this.loaderArr.length;return{index:t,count:s,first:0===t,last:t===s-1,even:t%2==0,odd:t%2!=0,...e}},getPageByFirst(t){return Math.floor(((t??this.first)+4*this.d_numToleratedItems)/(this.step||1))},isPageChanged(t){return!this.step||this.page!==this.getPageByFirst(t??this.first)},setContentEl(t){this.content=t||this.content||e.findSingle(this.element,".p-virtualscroller-content")},elementRef(t){this.element=t},contentRef(t){this.content=t}},computed:{containerClass(){return["p-virtualscroller",{"p-virtualscroller-inline":this.inline,"p-virtualscroller-both p-both-scroll":this.isBoth(),"p-virtualscroller-horizontal p-horizontal-scroll":this.isHorizontal()},this.class]},contentClass(){return["p-virtualscroller-content",{"p-virtualscroller-loading":this.d_loading}]},loaderClass(){return["p-virtualscroller-loader",{"p-component-overlay":!this.$slots.loader}]},loadedItems(){return this.items&&!this.d_loading?this.isBoth()?this.items.slice(this.appendOnly?0:this.first.rows,this.last.rows).map((t=>this.columns?t:t.slice(this.appendOnly?0:this.first.cols,this.last.cols))):this.isHorizontal()&&this.columns?this.items:this.items.slice(this.appendOnly?0:this.first,this.last):[]},loadedRows(){return this.d_loading?this.loaderDisabled?this.loaderArr:[]:this.loadedItems},loadedColumns(){if(this.columns){const t=this.isBoth(),e=this.isHorizontal();if(t||e)return this.d_loading&&this.loaderDisabled?t?this.loaderArr[0]:this.loaderArr:this.columns.slice(t?this.first.cols:this.first,t?this.last.cols:this.last)}return this.columns}},components:{SpinnerIcon:t}};const p=["tabindex"];!function(t,e){void 0===e&&(e={});var s=e.insertAt;if(t&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===s&&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 transform: translateZ(0);\n will-change: scroll-position;\n outline: 0 none;\n}\n.p-virtualscroller-content {\n position: absolute;\n top: 0;\n left: 0;\n /* contain: content; */\n min-height: 100%;\n min-width: 100%;\n will-change: transform;\n}\n.p-virtualscroller-spacer {\n position: absolute;\n top: 0;\n left: 0;\n height: 1px;\n width: 1px;\n 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: flex;\n align-items: center;\n justify-content: center;\n}\n.p-virtualscroller-loading-icon {\n font-size: 2rem;\n}\n.p-virtualscroller-loading-icon.p-icon {\n width: 2rem;\n height: 2rem;\n}\n.p-virtualscroller-horizontal > .p-virtualscroller-content {\n display: flex;\n}\n\n/* Inline */\n.p-virtualscroller-inline .p-virtualscroller-content {\n position: static;\n}\n"),u.render=function(t,e,u,f,g,y){const w=s("SpinnerIcon");return u.disabled?(i(),o(a,{key:1},[h(t.$slots,"default"),h(t.$slots,"content",{items:u.items,rows:u.items,columns:y.loadedColumns})],64)):(i(),o("div",{key:0,ref:y.elementRef,class:l(y.containerClass),tabindex:u.tabindex,style:n(u.style),onScroll:e[0]||(e[0]=(...t)=>y.onScroll&&y.onScroll(...t))},[h(t.$slots,"content",{styleClass:y.contentClass,items:y.loadedItems,getItemOptions:y.getOptions,loading:g.d_loading,getLoaderOptions:y.getLoaderOptions,itemSize:u.itemSize,rows:y.loadedRows,columns:y.loadedColumns,contentRef:y.contentRef,spacerStyle:g.spacerStyle,contentStyle:g.contentStyle,vertical:y.isVertical(),horizontal:y.isHorizontal(),both:y.isBoth()},(()=>[r("div",{ref:y.contentRef,class:l(y.contentClass),style:n(g.contentStyle)},[(i(!0),o(a,null,d(y.loadedItems,((e,s)=>h(t.$slots,"item",{key:s,item:e,options:y.getOptions(s)}))),128))],6)])),u.showSpacer?(i(),o("div",{key:0,class:"p-virtualscroller-spacer",style:n(g.spacerStyle)},null,4)):c("",!0),!u.loaderDisabled&&u.showLoader&&g.d_loading?(i(),o("div",{key:1,class:l(y.loaderClass)},[t.$slots&&t.$slots.loader?(i(!0),o(a,{key:0},d(g.loaderArr,((e,s)=>h(t.$slots,"loader",{key:s,options:y.getLoaderOptions(s,y.isBoth()&&{numCols:t.d_numItemsInViewport.cols})}))),128)):c("",!0),h(t.$slots,"loadingicon",{},(()=>[m(w,{spin:"",class:"p-virtualscroller-loading-icon"})]))],2)):c("",!0)],46,p))};export{u as default};
@@ -1,7 +1,11 @@
1
1
  this.primevue = this.primevue || {};
2
- this.primevue.virtualscroller = (function (utils, vue) {
2
+ this.primevue.virtualscroller = (function (SpinnerIcon, utils, vue) {
3
3
  'use strict';
4
4
 
5
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
6
+
7
+ var SpinnerIcon__default = /*#__PURE__*/_interopDefaultLegacy(SpinnerIcon);
8
+
5
9
  var script = {
6
10
  name: 'VirtualScroller',
7
11
  emits: ['update:numToleratedItems', 'scroll', 'scroll-index-change', 'lazy-load'],
@@ -700,16 +704,17 @@ this.primevue.virtualscroller = (function (utils, vue) {
700
704
 
701
705
  return this.columns;
702
706
  }
707
+ },
708
+ components: {
709
+ SpinnerIcon: SpinnerIcon__default["default"]
703
710
  }
704
711
  };
705
712
 
706
713
  const _hoisted_1 = ["tabindex"];
707
- const _hoisted_2 = {
708
- key: 1,
709
- class: "p-virtualscroller-loading-icon pi pi-spinner pi-spin"
710
- };
711
714
 
712
715
  function render(_ctx, _cache, $props, $setup, $data, $options) {
716
+ const _component_SpinnerIcon = vue.resolveComponent("SpinnerIcon");
717
+
713
718
  return (!$props.disabled)
714
719
  ? (vue.openBlock(), vue.createElementBlock("div", {
715
720
  key: 0,
@@ -768,7 +773,13 @@ this.primevue.virtualscroller = (function (utils, vue) {
768
773
  options: $options.getLoaderOptions(index, $options.isBoth() && { numCols: _ctx.d_numItemsInViewport.cols })
769
774
  })
770
775
  }), 128))
771
- : (vue.openBlock(), vue.createElementBlock("i", _hoisted_2))
776
+ : vue.createCommentVNode("", true),
777
+ vue.renderSlot(_ctx.$slots, "loadingicon", {}, () => [
778
+ vue.createVNode(_component_SpinnerIcon, {
779
+ spin: "",
780
+ class: "p-virtualscroller-loading-icon"
781
+ })
782
+ ])
772
783
  ], 2))
773
784
  : vue.createCommentVNode("", true)
774
785
  ], 46, _hoisted_1))
@@ -809,11 +820,11 @@ this.primevue.virtualscroller = (function (utils, vue) {
809
820
  }
810
821
  }
811
822
 
812
- var css_248z = "\n.p-virtualscroller {\n position: relative;\n overflow: auto;\n contain: strict;\n transform: translateZ(0);\n will-change: scroll-position;\n outline: 0 none;\n}\n.p-virtualscroller-content {\n position: absolute;\n top: 0;\n left: 0;\n /* contain: content; */\n min-height: 100%;\n min-width: 100%;\n will-change: transform;\n}\n.p-virtualscroller-spacer {\n position: absolute;\n top: 0;\n left: 0;\n height: 1px;\n width: 1px;\n 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: flex;\n align-items: center;\n justify-content: center;\n}\n.p-virtualscroller-loading-icon {\n font-size: 2rem;\n}\n.p-virtualscroller-horizontal > .p-virtualscroller-content {\n display: flex;\n}\n\n/* Inline */\n.p-virtualscroller-inline .p-virtualscroller-content {\n position: static;\n}\n";
823
+ var css_248z = "\n.p-virtualscroller {\n position: relative;\n overflow: auto;\n contain: strict;\n transform: translateZ(0);\n will-change: scroll-position;\n outline: 0 none;\n}\n.p-virtualscroller-content {\n position: absolute;\n top: 0;\n left: 0;\n /* contain: content; */\n min-height: 100%;\n min-width: 100%;\n will-change: transform;\n}\n.p-virtualscroller-spacer {\n position: absolute;\n top: 0;\n left: 0;\n height: 1px;\n width: 1px;\n 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: flex;\n align-items: center;\n justify-content: center;\n}\n.p-virtualscroller-loading-icon {\n font-size: 2rem;\n}\n.p-virtualscroller-loading-icon.p-icon {\n width: 2rem;\n height: 2rem;\n}\n.p-virtualscroller-horizontal > .p-virtualscroller-content {\n display: flex;\n}\n\n/* Inline */\n.p-virtualscroller-inline .p-virtualscroller-content {\n position: static;\n}\n";
813
824
  styleInject(css_248z);
814
825
 
815
826
  script.render = render;
816
827
 
817
828
  return script;
818
829
 
819
- })(primevue.utils, Vue);
830
+ })(primevue.icons.spinner, primevue.utils, Vue);
@@ -1 +1 @@
1
- this.primevue=this.primevue||{},this.primevue.virtualscroller=function(t,e){"use strict";var s={name:"VirtualScroller",emits:["update:numToleratedItems","scroll","scroll-index-change","lazy-load"],props:{id:{type:String,default:null},style:null,class:null,items:{type:Array,default:null},itemSize:{type:[Number,Array],default:0},scrollHeight:null,scrollWidth:null,orientation:{type:String,default:"vertical"},numToleratedItems:{type:Number,default:null},delay:{type:Number,default:0},resizeDelay:{type:Number,default:10},lazy:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loaderDisabled:{type:Boolean,default:!1},columns:{type:Array,default:null},loading:{type:Boolean,default:!1},showSpacer:{type:Boolean,default:!0},showLoader:{type:Boolean,default:!1},tabindex:{type:Number,default:0},inline:{type:Boolean,default:!1},step:{type:Number,default:0},appendOnly:{type:Boolean,default:!1},autoSize:{type:Boolean,default:!1}},data(){return{first:this.isBoth()?{rows:0,cols:0}:0,last:this.isBoth()?{rows:0,cols:0}:0,page:this.isBoth()?{rows:0,cols:0}:0,numItemsInViewport:this.isBoth()?{rows:0,cols:0}:0,lastScrollPos:this.isBoth()?{top:0,left:0}:0,d_numToleratedItems:this.numToleratedItems,d_loading:this.loading,loaderArr:[],spacerStyle:{},contentStyle:{}}},element:null,content:null,lastScrollPos:null,scrollTimeout:null,resizeTimeout:null,defaultWidth:0,defaultHeight:0,defaultContentWidth:0,defaultContentHeight:0,isRangeChanged:!1,lazyLoadState:{},resizeListener:null,initialized:!1,watch:{numToleratedItems(t){this.d_numToleratedItems=t},loading(t){this.d_loading=t},items(t,e){e&&e.length===(t||[]).length||(this.init(),this.calculateAutoSize())},itemSize(){this.init(),this.calculateAutoSize()},orientation(){this.lastScrollPos=this.isBoth()?{top:0,left:0}:0},scrollHeight(){this.init(),this.calculateAutoSize()},scrollWidth(){this.init(),this.calculateAutoSize()}},mounted(){this.viewInit(),this.lastScrollPos=this.isBoth()?{top:0,left:0}:0,this.lazyLoadState=this.lazyLoadState||{}},updated(){!this.initialized&&this.viewInit()},unmounted(){this.unbindResizeListener(),this.initialized=!1},methods:{viewInit(){t.DomHandler.isVisible(this.element)&&(this.setContentEl(this.content),this.init(),this.bindResizeListener(),this.defaultWidth=t.DomHandler.getWidth(this.element),this.defaultHeight=t.DomHandler.getHeight(this.element),this.defaultContentWidth=t.DomHandler.getWidth(this.content),this.defaultContentHeight=t.DomHandler.getHeight(this.content),this.initialized=!0)},init(){this.disabled||(this.setSize(),this.calculateOptions(),this.setSpacerSize())},isVertical(){return"vertical"===this.orientation},isHorizontal(){return"horizontal"===this.orientation},isBoth(){return"both"===this.orientation},scrollTo(t){this.lastScrollPos=this.both?{top:0,left:0}:0,this.element&&this.element.scrollTo(t)},scrollToIndex(t,e="auto"){const s=this.isBoth(),i=this.isHorizontal(),o=this.first,{numToleratedItems:l}=this.calculateNumItems(),n=this.getContentPosition(),r=this.itemSize,h=(t=0,e)=>t<=e?0:t,a=(t,e,s)=>t*e+s,d=(t=0,s=0)=>this.scrollTo({left:t,top:s,behavior:e});let c=s?{rows:0,cols:0}:0,m=!1;s?(c={rows:h(t[0],l[0]),cols:h(t[1],l[1])},d(a(c.cols,r[1],n.left),a(c.rows,r[0],n.top)),m=c.rows!==o.rows||c.cols!==o.cols):(c=h(t,l),i?d(a(c,r,n.left),0):d(0,a(c,r,n.top)),m=c!==o),this.isRangeChanged=m,this.first=c},scrollInView(t,e,s="auto"){if(e){const i=this.isBoth(),o=this.isHorizontal(),{first:l,viewport:n}=this.getRenderedRange(),r=(t=0,e=0)=>this.scrollTo({left:t,top:e,behavior:s}),h="to-end"===e;if("to-start"===e){if(i)n.first.rows-l.rows>t[0]?r(n.first.cols*this.itemSize[1],(n.first.rows-1)*this.itemSize[0]):n.first.cols-l.cols>t[1]&&r((n.first.cols-1)*this.itemSize[1],n.first.rows*this.itemSize[0]);else if(n.first-l>t){const t=(n.first-1)*this.itemSize;o?r(t,0):r(0,t)}}else if(h)if(i)n.last.rows-l.rows<=t[0]+1?r(n.first.cols*this.itemSize[1],(n.first.rows+1)*this.itemSize[0]):n.last.cols-l.cols<=t[1]+1&&r((n.first.cols+1)*this.itemSize[1],n.first.rows*this.itemSize[0]);else if(n.last-l<=t+1){const t=(n.first+1)*this.itemSize;o?r(t,0):r(0,t)}}else this.scrollToIndex(t,s)},getRenderedRange(){const t=(t,e)=>Math.floor(t/(e||t));let e=this.first,s=0;if(this.element){const i=this.isBoth(),o=this.isHorizontal(),{scrollTop:l,scrollLeft:n}=this.element.scrollTop;if(i)e={rows:t(l,this.itemSize[0]),cols:t(n,this.itemSize[1])},s={rows:e.rows+this.numItemsInViewport.rows,cols:e.cols+this.numItemsInViewport.cols};else{e=t(o?n:l,this.itemSize),s=e+this.numItemsInViewport}}return{first:this.first,last:this.last,viewport:{first:e,last:s}}},calculateNumItems(){const t=this.isBoth(),e=this.isHorizontal(),s=this.itemSize,i=this.getContentPosition(),o=this.element?this.element.offsetWidth-i.left:0,l=this.element?this.element.offsetHeight-i.top:0,n=(t,e)=>Math.ceil(t/(e||t)),r=t=>Math.ceil(t/2),h=t?{rows:n(l,s[0]),cols:n(o,s[1])}:n(e?o:l,s);return{numItemsInViewport:h,numToleratedItems:this.d_numToleratedItems||(t?[r(h.rows),r(h.cols)]:r(h))}},calculateOptions(){const t=this.isBoth(),e=this.first,{numItemsInViewport:s,numToleratedItems:i}=this.calculateNumItems(),o=(t,e,s,i=!1)=>this.getLast(t+e+(t<s?2:3)*s,i),l=t?{rows:o(e.rows,s.rows,i[0]),cols:o(e.cols,s.cols,i[1],!0)}:o(e,s,i);this.last=l,this.numItemsInViewport=s,this.d_numToleratedItems=i,this.$emit("update:numToleratedItems",this.d_numToleratedItems),this.showLoader&&(this.loaderArr=t?Array.from({length:s.rows}).map((()=>Array.from({length:s.cols}))):Array.from({length:s})),this.lazy&&Promise.resolve().then((()=>{this.lazyLoadState={first:this.step?t?{rows:0,cols:e.cols}:0:e,last:Math.min(this.step?this.step:l,this.items.length)},this.$emit("lazy-load",this.lazyLoadState)}))},calculateAutoSize(){this.autoSize&&!this.d_loading&&Promise.resolve().then((()=>{if(this.content){const e=this.isBoth(),s=this.isHorizontal(),i=this.isVertical();this.content.style.minHeight=this.content.style.minWidth="auto",this.content.style.position="relative",this.element.style.contain="none";const[o,l]=[t.DomHandler.getWidth(this.content),t.DomHandler.getHeight(this.content)];o!==this.defaultContentWidth&&(this.element.style.width=""),l!==this.defaultContentHeight&&(this.element.style.height="");const[n,r]=[t.DomHandler.getWidth(this.element),t.DomHandler.getHeight(this.element)];(e||s)&&(this.element.style.width=n<this.defaultWidth?n+"px":this.scrollWidth||this.defaultWidth+"px"),(e||i)&&(this.element.style.height=r<this.defaultHeight?r+"px":this.scrollHeight||this.defaultHeight+"px"),this.content.style.minHeight=this.content.style.minWidth="",this.content.style.position="",this.element.style.contain=""}}))},getLast(t=0,e){return this.items?Math.min(e?(this.columns||this.items[0]).length:this.items.length,t):0},getContentPosition(){if(this.content){const t=getComputedStyle(this.content),e=parseFloat(t.paddingLeft)+Math.max(parseFloat(t.left)||0,0),s=parseFloat(t.paddingRight)+Math.max(parseFloat(t.right)||0,0),i=parseFloat(t.paddingTop)+Math.max(parseFloat(t.top)||0,0),o=parseFloat(t.paddingBottom)+Math.max(parseFloat(t.bottom)||0,0);return{left:e,right:s,top:i,bottom:o,x:e+s,y:i+o}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},setSize(){if(this.element){const t=this.isBoth(),e=this.isHorizontal(),s=this.element.parentElement,i=this.scrollWidth||`${this.element.offsetWidth||s.offsetWidth}px`,o=this.scrollHeight||`${this.element.offsetHeight||s.offsetHeight}px`,l=(t,e)=>this.element.style[t]=e;t||e?(l("height",o),l("width",i)):l("height",o)}},setSpacerSize(){const t=this.items;if(t){const e=this.isBoth(),s=this.isHorizontal(),i=this.getContentPosition(),o=(t,e,s,i=0)=>this.spacerStyle={...this.spacerStyle,[`${t}`]:(e||[]).length*s+i+"px"};e?(o("height",t,this.itemSize[0],i.y),o("width",this.columns||t[1],this.itemSize[1],i.x)):s?o("width",this.columns||t,this.itemSize,i.x):o("height",t,this.itemSize,i.y)}},setContentPosition(t){if(this.content&&!this.appendOnly){const e=this.isBoth(),s=this.isHorizontal(),i=t?t.first:this.first,o=(t,e)=>t*e,l=(t=0,e=0)=>this.contentStyle={...this.contentStyle,transform:`translate3d(${t}px, ${e}px, 0)`};if(e)l(o(i.cols,this.itemSize[1]),o(i.rows,this.itemSize[0]));else{const t=o(i,this.itemSize);s?l(t,0):l(0,t)}}},onScrollPositionChange(t){const e=t.target,s=this.isBoth(),i=this.isHorizontal(),o=this.getContentPosition(),l=(t,e)=>t?t>e?t-e:t:0,n=(t,e)=>Math.floor(t/(e||t)),r=(t,e,s,i,o,l)=>t<=o?o:l?s-i-o:e+o-1,h=(t,e,s,i,o,l,n)=>t<=l?0:Math.max(0,n?t<e?s:t-l:t>e?s:t-2*l),a=(t,e,s,i,o,l)=>{let n=e+i+2*o;return t>=o&&(n+=o+1),this.getLast(n,l)},d=l(e.scrollTop,o.top),c=l(e.scrollLeft,o.left);let m=s?{rows:0,cols:0}:0,u=this.last,p=!1,f=this.lastScrollPos;if(s){const t=this.lastScrollPos.top<=d,e=this.lastScrollPos.left<=c;if(!this.appendOnly||this.appendOnly&&(t||e)){const s={rows:n(d,this.itemSize[0]),cols:n(c,this.itemSize[1])},i={rows:r(s.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],t),cols:r(s.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],e)};m={rows:h(s.rows,i.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],t),cols:h(s.cols,i.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],e)},u={rows:a(s.rows,m.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0]),cols:a(s.cols,m.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],!0)},p=m.rows!==this.first.rows||u.rows!==this.last.rows||m.cols!==this.first.cols||u.cols!==this.last.cols||this.isRangeChanged,f={top:d,left:c}}}else{const t=i?c:d,e=this.lastScrollPos<=t;if(!this.appendOnly||this.appendOnly&&e){const s=n(t,this.itemSize);m=h(s,r(s,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,e),this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,e),u=a(s,m,this.last,this.numItemsInViewport,this.d_numToleratedItems),p=m!==this.first||u!==this.last||this.isRangeChanged,f=t}}return{first:m,last:u,isRangeChanged:p,scrollPos:f}},onScrollChange(t){const{first:e,last:s,isRangeChanged:i,scrollPos:o}=this.onScrollPositionChange(t);if(i){const t={first:e,last:s};if(this.setContentPosition(t),this.first=e,this.last=s,this.lastScrollPos=o,this.$emit("scroll-index-change",t),this.lazy&&this.isPageChanged(e)){const t={first:this.step?Math.min(this.getPageByFirst(e)*this.step,this.items.length-this.step):e,last:Math.min(this.step?(this.getPageByFirst(e)+1)*this.step:s,this.items.length)};(this.lazyLoadState.first!==t.first||this.lazyLoadState.last!==t.last)&&this.$emit("lazy-load",t),this.lazyLoadState=t}}},onScroll(t){if(this.$emit("scroll",t),this.delay&&this.isPageChanged()){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),!this.d_loading&&this.showLoader){const{isRangeChanged:e}=this.onScrollPositionChange(t);(e||!!this.step&&this.isPageChanged())&&(this.d_loading=!0)}this.scrollTimeout=setTimeout((()=>{this.onScrollChange(t),!this.d_loading||!this.showLoader||this.lazy&&void 0!==this.loading||(this.d_loading=!1,this.page=this.getPageByFirst())}),this.delay)}else this.onScrollChange(t)},onResize(){this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout((()=>{if(t.DomHandler.isVisible(this.element)){const e=this.isBoth(),s=this.isVertical(),i=this.isHorizontal(),[o,l]=[t.DomHandler.getWidth(this.element),t.DomHandler.getHeight(this.element)],[n,r]=[o!==this.defaultWidth,l!==this.defaultHeight];(e?n||r:i?n:!!s&&r)&&(this.d_numToleratedItems=this.numToleratedItems,this.defaultWidth=o,this.defaultHeight=l,this.defaultContentWidth=t.DomHandler.getWidth(this.content),this.defaultContentHeight=t.DomHandler.getHeight(this.content),this.init())}}),this.resizeDelay)},bindResizeListener(){this.resizeListener||(this.resizeListener=this.onResize.bind(this),window.addEventListener("resize",this.resizeListener),window.addEventListener("orientationchange",this.resizeListener))},unbindResizeListener(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),window.removeEventListener("orientationchange",this.resizeListener),this.resizeListener=null)},getOptions(t){const e=(this.items||[]).length,s=this.isBoth()?this.first.rows+t:this.first+t;return{index:s,count:e,first:0===s,last:s===e-1,even:s%2==0,odd:s%2!=0}},getLoaderOptions(t,e){let s=this.loaderArr.length;return{index:t,count:s,first:0===t,last:t===s-1,even:t%2==0,odd:t%2!=0,...e}},getPageByFirst(t){return Math.floor(((t??this.first)+4*this.d_numToleratedItems)/(this.step||1))},isPageChanged(t){return!this.step||this.page!==this.getPageByFirst(t??this.first)},setContentEl(e){this.content=e||this.content||t.DomHandler.findSingle(this.element,".p-virtualscroller-content")},elementRef(t){this.element=t},contentRef(t){this.content=t}},computed:{containerClass(){return["p-virtualscroller",{"p-virtualscroller-inline":this.inline,"p-virtualscroller-both p-both-scroll":this.isBoth(),"p-virtualscroller-horizontal p-horizontal-scroll":this.isHorizontal()},this.class]},contentClass(){return["p-virtualscroller-content",{"p-virtualscroller-loading":this.d_loading}]},loaderClass(){return["p-virtualscroller-loader",{"p-component-overlay":!this.$slots.loader}]},loadedItems(){return this.items&&!this.d_loading?this.isBoth()?this.items.slice(this.appendOnly?0:this.first.rows,this.last.rows).map((t=>this.columns?t:t.slice(this.appendOnly?0:this.first.cols,this.last.cols))):this.isHorizontal()&&this.columns?this.items:this.items.slice(this.appendOnly?0:this.first,this.last):[]},loadedRows(){return this.d_loading?this.loaderDisabled?this.loaderArr:[]:this.loadedItems},loadedColumns(){if(this.columns){const t=this.isBoth(),e=this.isHorizontal();if(t||e)return this.d_loading&&this.loaderDisabled?t?this.loaderArr[0]:this.loaderArr:this.columns.slice(t?this.first.cols:this.first,t?this.last.cols:this.last)}return this.columns}}};const i=["tabindex"],o={key:1,class:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"};return function(t,e){void 0===e&&(e={});var s=e.insertAt;if(t&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===s&&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 transform: translateZ(0);\n will-change: scroll-position;\n outline: 0 none;\n}\n.p-virtualscroller-content {\n position: absolute;\n top: 0;\n left: 0;\n /* contain: content; */\n min-height: 100%;\n min-width: 100%;\n will-change: transform;\n}\n.p-virtualscroller-spacer {\n position: absolute;\n top: 0;\n left: 0;\n height: 1px;\n width: 1px;\n 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: flex;\n align-items: center;\n justify-content: center;\n}\n.p-virtualscroller-loading-icon {\n font-size: 2rem;\n}\n.p-virtualscroller-horizontal > .p-virtualscroller-content {\n display: flex;\n}\n\n/* Inline */\n.p-virtualscroller-inline .p-virtualscroller-content {\n position: static;\n}\n"),s.render=function(t,s,l,n,r,h){return l.disabled?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.renderSlot(t.$slots,"default"),e.renderSlot(t.$slots,"content",{items:l.items,rows:l.items,columns:h.loadedColumns})],64)):(e.openBlock(),e.createElementBlock("div",{key:0,ref:h.elementRef,class:e.normalizeClass(h.containerClass),tabindex:l.tabindex,style:e.normalizeStyle(l.style),onScroll:s[0]||(s[0]=(...t)=>h.onScroll&&h.onScroll(...t))},[e.renderSlot(t.$slots,"content",{styleClass:h.contentClass,items:h.loadedItems,getItemOptions:h.getOptions,loading:r.d_loading,getLoaderOptions:h.getLoaderOptions,itemSize:l.itemSize,rows:h.loadedRows,columns:h.loadedColumns,contentRef:h.contentRef,spacerStyle:r.spacerStyle,contentStyle:r.contentStyle,vertical:h.isVertical(),horizontal:h.isHorizontal(),both:h.isBoth()},(()=>[e.createElementVNode("div",{ref:h.contentRef,class:e.normalizeClass(h.contentClass),style:e.normalizeStyle(r.contentStyle)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.loadedItems,((s,i)=>e.renderSlot(t.$slots,"item",{key:i,item:s,options:h.getOptions(i)}))),128))],6)])),l.showSpacer?(e.openBlock(),e.createElementBlock("div",{key:0,class:"p-virtualscroller-spacer",style:e.normalizeStyle(r.spacerStyle)},null,4)):e.createCommentVNode("",!0),!l.loaderDisabled&&l.showLoader&&r.d_loading?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(h.loaderClass)},[t.$slots&&t.$slots.loader?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(r.loaderArr,((s,i)=>e.renderSlot(t.$slots,"loader",{key:i,options:h.getLoaderOptions(i,h.isBoth()&&{numCols:t.d_numItemsInViewport.cols})}))),128)):(e.openBlock(),e.createElementBlock("i",o))],2)):e.createCommentVNode("",!0)],46,i))},s}(primevue.utils,Vue);
1
+ this.primevue=this.primevue||{},this.primevue.virtualscroller=function(t,e,s){"use strict";function i(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var o={name:"VirtualScroller",emits:["update:numToleratedItems","scroll","scroll-index-change","lazy-load"],props:{id:{type:String,default:null},style:null,class:null,items:{type:Array,default:null},itemSize:{type:[Number,Array],default:0},scrollHeight:null,scrollWidth:null,orientation:{type:String,default:"vertical"},numToleratedItems:{type:Number,default:null},delay:{type:Number,default:0},resizeDelay:{type:Number,default:10},lazy:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loaderDisabled:{type:Boolean,default:!1},columns:{type:Array,default:null},loading:{type:Boolean,default:!1},showSpacer:{type:Boolean,default:!0},showLoader:{type:Boolean,default:!1},tabindex:{type:Number,default:0},inline:{type:Boolean,default:!1},step:{type:Number,default:0},appendOnly:{type:Boolean,default:!1},autoSize:{type:Boolean,default:!1}},data(){return{first:this.isBoth()?{rows:0,cols:0}:0,last:this.isBoth()?{rows:0,cols:0}:0,page:this.isBoth()?{rows:0,cols:0}:0,numItemsInViewport:this.isBoth()?{rows:0,cols:0}:0,lastScrollPos:this.isBoth()?{top:0,left:0}:0,d_numToleratedItems:this.numToleratedItems,d_loading:this.loading,loaderArr:[],spacerStyle:{},contentStyle:{}}},element:null,content:null,lastScrollPos:null,scrollTimeout:null,resizeTimeout:null,defaultWidth:0,defaultHeight:0,defaultContentWidth:0,defaultContentHeight:0,isRangeChanged:!1,lazyLoadState:{},resizeListener:null,initialized:!1,watch:{numToleratedItems(t){this.d_numToleratedItems=t},loading(t){this.d_loading=t},items(t,e){e&&e.length===(t||[]).length||(this.init(),this.calculateAutoSize())},itemSize(){this.init(),this.calculateAutoSize()},orientation(){this.lastScrollPos=this.isBoth()?{top:0,left:0}:0},scrollHeight(){this.init(),this.calculateAutoSize()},scrollWidth(){this.init(),this.calculateAutoSize()}},mounted(){this.viewInit(),this.lastScrollPos=this.isBoth()?{top:0,left:0}:0,this.lazyLoadState=this.lazyLoadState||{}},updated(){!this.initialized&&this.viewInit()},unmounted(){this.unbindResizeListener(),this.initialized=!1},methods:{viewInit(){e.DomHandler.isVisible(this.element)&&(this.setContentEl(this.content),this.init(),this.bindResizeListener(),this.defaultWidth=e.DomHandler.getWidth(this.element),this.defaultHeight=e.DomHandler.getHeight(this.element),this.defaultContentWidth=e.DomHandler.getWidth(this.content),this.defaultContentHeight=e.DomHandler.getHeight(this.content),this.initialized=!0)},init(){this.disabled||(this.setSize(),this.calculateOptions(),this.setSpacerSize())},isVertical(){return"vertical"===this.orientation},isHorizontal(){return"horizontal"===this.orientation},isBoth(){return"both"===this.orientation},scrollTo(t){this.lastScrollPos=this.both?{top:0,left:0}:0,this.element&&this.element.scrollTo(t)},scrollToIndex(t,e="auto"){const s=this.isBoth(),i=this.isHorizontal(),o=this.first,{numToleratedItems:l}=this.calculateNumItems(),n=this.getContentPosition(),r=this.itemSize,h=(t=0,e)=>t<=e?0:t,a=(t,e,s)=>t*e+s,d=(t=0,s=0)=>this.scrollTo({left:t,top:s,behavior:e});let c=s?{rows:0,cols:0}:0,m=!1;s?(c={rows:h(t[0],l[0]),cols:h(t[1],l[1])},d(a(c.cols,r[1],n.left),a(c.rows,r[0],n.top)),m=c.rows!==o.rows||c.cols!==o.cols):(c=h(t,l),i?d(a(c,r,n.left),0):d(0,a(c,r,n.top)),m=c!==o),this.isRangeChanged=m,this.first=c},scrollInView(t,e,s="auto"){if(e){const i=this.isBoth(),o=this.isHorizontal(),{first:l,viewport:n}=this.getRenderedRange(),r=(t=0,e=0)=>this.scrollTo({left:t,top:e,behavior:s}),h="to-end"===e;if("to-start"===e){if(i)n.first.rows-l.rows>t[0]?r(n.first.cols*this.itemSize[1],(n.first.rows-1)*this.itemSize[0]):n.first.cols-l.cols>t[1]&&r((n.first.cols-1)*this.itemSize[1],n.first.rows*this.itemSize[0]);else if(n.first-l>t){const t=(n.first-1)*this.itemSize;o?r(t,0):r(0,t)}}else if(h)if(i)n.last.rows-l.rows<=t[0]+1?r(n.first.cols*this.itemSize[1],(n.first.rows+1)*this.itemSize[0]):n.last.cols-l.cols<=t[1]+1&&r((n.first.cols+1)*this.itemSize[1],n.first.rows*this.itemSize[0]);else if(n.last-l<=t+1){const t=(n.first+1)*this.itemSize;o?r(t,0):r(0,t)}}else this.scrollToIndex(t,s)},getRenderedRange(){const t=(t,e)=>Math.floor(t/(e||t));let e=this.first,s=0;if(this.element){const i=this.isBoth(),o=this.isHorizontal(),{scrollTop:l,scrollLeft:n}=this.element.scrollTop;if(i)e={rows:t(l,this.itemSize[0]),cols:t(n,this.itemSize[1])},s={rows:e.rows+this.numItemsInViewport.rows,cols:e.cols+this.numItemsInViewport.cols};else{e=t(o?n:l,this.itemSize),s=e+this.numItemsInViewport}}return{first:this.first,last:this.last,viewport:{first:e,last:s}}},calculateNumItems(){const t=this.isBoth(),e=this.isHorizontal(),s=this.itemSize,i=this.getContentPosition(),o=this.element?this.element.offsetWidth-i.left:0,l=this.element?this.element.offsetHeight-i.top:0,n=(t,e)=>Math.ceil(t/(e||t)),r=t=>Math.ceil(t/2),h=t?{rows:n(l,s[0]),cols:n(o,s[1])}:n(e?o:l,s);return{numItemsInViewport:h,numToleratedItems:this.d_numToleratedItems||(t?[r(h.rows),r(h.cols)]:r(h))}},calculateOptions(){const t=this.isBoth(),e=this.first,{numItemsInViewport:s,numToleratedItems:i}=this.calculateNumItems(),o=(t,e,s,i=!1)=>this.getLast(t+e+(t<s?2:3)*s,i),l=t?{rows:o(e.rows,s.rows,i[0]),cols:o(e.cols,s.cols,i[1],!0)}:o(e,s,i);this.last=l,this.numItemsInViewport=s,this.d_numToleratedItems=i,this.$emit("update:numToleratedItems",this.d_numToleratedItems),this.showLoader&&(this.loaderArr=t?Array.from({length:s.rows}).map((()=>Array.from({length:s.cols}))):Array.from({length:s})),this.lazy&&Promise.resolve().then((()=>{this.lazyLoadState={first:this.step?t?{rows:0,cols:e.cols}:0:e,last:Math.min(this.step?this.step:l,this.items.length)},this.$emit("lazy-load",this.lazyLoadState)}))},calculateAutoSize(){this.autoSize&&!this.d_loading&&Promise.resolve().then((()=>{if(this.content){const t=this.isBoth(),s=this.isHorizontal(),i=this.isVertical();this.content.style.minHeight=this.content.style.minWidth="auto",this.content.style.position="relative",this.element.style.contain="none";const[o,l]=[e.DomHandler.getWidth(this.content),e.DomHandler.getHeight(this.content)];o!==this.defaultContentWidth&&(this.element.style.width=""),l!==this.defaultContentHeight&&(this.element.style.height="");const[n,r]=[e.DomHandler.getWidth(this.element),e.DomHandler.getHeight(this.element)];(t||s)&&(this.element.style.width=n<this.defaultWidth?n+"px":this.scrollWidth||this.defaultWidth+"px"),(t||i)&&(this.element.style.height=r<this.defaultHeight?r+"px":this.scrollHeight||this.defaultHeight+"px"),this.content.style.minHeight=this.content.style.minWidth="",this.content.style.position="",this.element.style.contain=""}}))},getLast(t=0,e){return this.items?Math.min(e?(this.columns||this.items[0]).length:this.items.length,t):0},getContentPosition(){if(this.content){const t=getComputedStyle(this.content),e=parseFloat(t.paddingLeft)+Math.max(parseFloat(t.left)||0,0),s=parseFloat(t.paddingRight)+Math.max(parseFloat(t.right)||0,0),i=parseFloat(t.paddingTop)+Math.max(parseFloat(t.top)||0,0),o=parseFloat(t.paddingBottom)+Math.max(parseFloat(t.bottom)||0,0);return{left:e,right:s,top:i,bottom:o,x:e+s,y:i+o}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},setSize(){if(this.element){const t=this.isBoth(),e=this.isHorizontal(),s=this.element.parentElement,i=this.scrollWidth||`${this.element.offsetWidth||s.offsetWidth}px`,o=this.scrollHeight||`${this.element.offsetHeight||s.offsetHeight}px`,l=(t,e)=>this.element.style[t]=e;t||e?(l("height",o),l("width",i)):l("height",o)}},setSpacerSize(){const t=this.items;if(t){const e=this.isBoth(),s=this.isHorizontal(),i=this.getContentPosition(),o=(t,e,s,i=0)=>this.spacerStyle={...this.spacerStyle,[`${t}`]:(e||[]).length*s+i+"px"};e?(o("height",t,this.itemSize[0],i.y),o("width",this.columns||t[1],this.itemSize[1],i.x)):s?o("width",this.columns||t,this.itemSize,i.x):o("height",t,this.itemSize,i.y)}},setContentPosition(t){if(this.content&&!this.appendOnly){const e=this.isBoth(),s=this.isHorizontal(),i=t?t.first:this.first,o=(t,e)=>t*e,l=(t=0,e=0)=>this.contentStyle={...this.contentStyle,transform:`translate3d(${t}px, ${e}px, 0)`};if(e)l(o(i.cols,this.itemSize[1]),o(i.rows,this.itemSize[0]));else{const t=o(i,this.itemSize);s?l(t,0):l(0,t)}}},onScrollPositionChange(t){const e=t.target,s=this.isBoth(),i=this.isHorizontal(),o=this.getContentPosition(),l=(t,e)=>t?t>e?t-e:t:0,n=(t,e)=>Math.floor(t/(e||t)),r=(t,e,s,i,o,l)=>t<=o?o:l?s-i-o:e+o-1,h=(t,e,s,i,o,l,n)=>t<=l?0:Math.max(0,n?t<e?s:t-l:t>e?s:t-2*l),a=(t,e,s,i,o,l)=>{let n=e+i+2*o;return t>=o&&(n+=o+1),this.getLast(n,l)},d=l(e.scrollTop,o.top),c=l(e.scrollLeft,o.left);let m=s?{rows:0,cols:0}:0,u=this.last,p=!1,f=this.lastScrollPos;if(s){const t=this.lastScrollPos.top<=d,e=this.lastScrollPos.left<=c;if(!this.appendOnly||this.appendOnly&&(t||e)){const s={rows:n(d,this.itemSize[0]),cols:n(c,this.itemSize[1])},i={rows:r(s.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],t),cols:r(s.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],e)};m={rows:h(s.rows,i.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],t),cols:h(s.cols,i.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],e)},u={rows:a(s.rows,m.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0]),cols:a(s.cols,m.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],!0)},p=m.rows!==this.first.rows||u.rows!==this.last.rows||m.cols!==this.first.cols||u.cols!==this.last.cols||this.isRangeChanged,f={top:d,left:c}}}else{const t=i?c:d,e=this.lastScrollPos<=t;if(!this.appendOnly||this.appendOnly&&e){const s=n(t,this.itemSize);m=h(s,r(s,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,e),this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,e),u=a(s,m,this.last,this.numItemsInViewport,this.d_numToleratedItems),p=m!==this.first||u!==this.last||this.isRangeChanged,f=t}}return{first:m,last:u,isRangeChanged:p,scrollPos:f}},onScrollChange(t){const{first:e,last:s,isRangeChanged:i,scrollPos:o}=this.onScrollPositionChange(t);if(i){const t={first:e,last:s};if(this.setContentPosition(t),this.first=e,this.last=s,this.lastScrollPos=o,this.$emit("scroll-index-change",t),this.lazy&&this.isPageChanged(e)){const t={first:this.step?Math.min(this.getPageByFirst(e)*this.step,this.items.length-this.step):e,last:Math.min(this.step?(this.getPageByFirst(e)+1)*this.step:s,this.items.length)};(this.lazyLoadState.first!==t.first||this.lazyLoadState.last!==t.last)&&this.$emit("lazy-load",t),this.lazyLoadState=t}}},onScroll(t){if(this.$emit("scroll",t),this.delay&&this.isPageChanged()){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),!this.d_loading&&this.showLoader){const{isRangeChanged:e}=this.onScrollPositionChange(t);(e||!!this.step&&this.isPageChanged())&&(this.d_loading=!0)}this.scrollTimeout=setTimeout((()=>{this.onScrollChange(t),!this.d_loading||!this.showLoader||this.lazy&&void 0!==this.loading||(this.d_loading=!1,this.page=this.getPageByFirst())}),this.delay)}else this.onScrollChange(t)},onResize(){this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout((()=>{if(e.DomHandler.isVisible(this.element)){const t=this.isBoth(),s=this.isVertical(),i=this.isHorizontal(),[o,l]=[e.DomHandler.getWidth(this.element),e.DomHandler.getHeight(this.element)],[n,r]=[o!==this.defaultWidth,l!==this.defaultHeight];(t?n||r:i?n:!!s&&r)&&(this.d_numToleratedItems=this.numToleratedItems,this.defaultWidth=o,this.defaultHeight=l,this.defaultContentWidth=e.DomHandler.getWidth(this.content),this.defaultContentHeight=e.DomHandler.getHeight(this.content),this.init())}}),this.resizeDelay)},bindResizeListener(){this.resizeListener||(this.resizeListener=this.onResize.bind(this),window.addEventListener("resize",this.resizeListener),window.addEventListener("orientationchange",this.resizeListener))},unbindResizeListener(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),window.removeEventListener("orientationchange",this.resizeListener),this.resizeListener=null)},getOptions(t){const e=(this.items||[]).length,s=this.isBoth()?this.first.rows+t:this.first+t;return{index:s,count:e,first:0===s,last:s===e-1,even:s%2==0,odd:s%2!=0}},getLoaderOptions(t,e){let s=this.loaderArr.length;return{index:t,count:s,first:0===t,last:t===s-1,even:t%2==0,odd:t%2!=0,...e}},getPageByFirst(t){return Math.floor(((t??this.first)+4*this.d_numToleratedItems)/(this.step||1))},isPageChanged(t){return!this.step||this.page!==this.getPageByFirst(t??this.first)},setContentEl(t){this.content=t||this.content||e.DomHandler.findSingle(this.element,".p-virtualscroller-content")},elementRef(t){this.element=t},contentRef(t){this.content=t}},computed:{containerClass(){return["p-virtualscroller",{"p-virtualscroller-inline":this.inline,"p-virtualscroller-both p-both-scroll":this.isBoth(),"p-virtualscroller-horizontal p-horizontal-scroll":this.isHorizontal()},this.class]},contentClass(){return["p-virtualscroller-content",{"p-virtualscroller-loading":this.d_loading}]},loaderClass(){return["p-virtualscroller-loader",{"p-component-overlay":!this.$slots.loader}]},loadedItems(){return this.items&&!this.d_loading?this.isBoth()?this.items.slice(this.appendOnly?0:this.first.rows,this.last.rows).map((t=>this.columns?t:t.slice(this.appendOnly?0:this.first.cols,this.last.cols))):this.isHorizontal()&&this.columns?this.items:this.items.slice(this.appendOnly?0:this.first,this.last):[]},loadedRows(){return this.d_loading?this.loaderDisabled?this.loaderArr:[]:this.loadedItems},loadedColumns(){if(this.columns){const t=this.isBoth(),e=this.isHorizontal();if(t||e)return this.d_loading&&this.loaderDisabled?t?this.loaderArr[0]:this.loaderArr:this.columns.slice(t?this.first.cols:this.first,t?this.last.cols:this.last)}return this.columns}},components:{SpinnerIcon:i(t).default}};const l=["tabindex"];return function(t,e){void 0===e&&(e={});var s=e.insertAt;if(t&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===s&&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 transform: translateZ(0);\n will-change: scroll-position;\n outline: 0 none;\n}\n.p-virtualscroller-content {\n position: absolute;\n top: 0;\n left: 0;\n /* contain: content; */\n min-height: 100%;\n min-width: 100%;\n will-change: transform;\n}\n.p-virtualscroller-spacer {\n position: absolute;\n top: 0;\n left: 0;\n height: 1px;\n width: 1px;\n 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: flex;\n align-items: center;\n justify-content: center;\n}\n.p-virtualscroller-loading-icon {\n font-size: 2rem;\n}\n.p-virtualscroller-loading-icon.p-icon {\n width: 2rem;\n height: 2rem;\n}\n.p-virtualscroller-horizontal > .p-virtualscroller-content {\n display: flex;\n}\n\n/* Inline */\n.p-virtualscroller-inline .p-virtualscroller-content {\n position: static;\n}\n"),o.render=function(t,e,i,o,n,r){const h=s.resolveComponent("SpinnerIcon");return i.disabled?(s.openBlock(),s.createElementBlock(s.Fragment,{key:1},[s.renderSlot(t.$slots,"default"),s.renderSlot(t.$slots,"content",{items:i.items,rows:i.items,columns:r.loadedColumns})],64)):(s.openBlock(),s.createElementBlock("div",{key:0,ref:r.elementRef,class:s.normalizeClass(r.containerClass),tabindex:i.tabindex,style:s.normalizeStyle(i.style),onScroll:e[0]||(e[0]=(...t)=>r.onScroll&&r.onScroll(...t))},[s.renderSlot(t.$slots,"content",{styleClass:r.contentClass,items:r.loadedItems,getItemOptions:r.getOptions,loading:n.d_loading,getLoaderOptions:r.getLoaderOptions,itemSize:i.itemSize,rows:r.loadedRows,columns:r.loadedColumns,contentRef:r.contentRef,spacerStyle:n.spacerStyle,contentStyle:n.contentStyle,vertical:r.isVertical(),horizontal:r.isHorizontal(),both:r.isBoth()},(()=>[s.createElementVNode("div",{ref:r.contentRef,class:s.normalizeClass(r.contentClass),style:s.normalizeStyle(n.contentStyle)},[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(r.loadedItems,((e,i)=>s.renderSlot(t.$slots,"item",{key:i,item:e,options:r.getOptions(i)}))),128))],6)])),i.showSpacer?(s.openBlock(),s.createElementBlock("div",{key:0,class:"p-virtualscroller-spacer",style:s.normalizeStyle(n.spacerStyle)},null,4)):s.createCommentVNode("",!0),!i.loaderDisabled&&i.showLoader&&n.d_loading?(s.openBlock(),s.createElementBlock("div",{key:1,class:s.normalizeClass(r.loaderClass)},[t.$slots&&t.$slots.loader?(s.openBlock(!0),s.createElementBlock(s.Fragment,{key:0},s.renderList(n.loaderArr,((e,i)=>s.renderSlot(t.$slots,"loader",{key:i,options:r.getLoaderOptions(i,r.isBoth()&&{numCols:t.d_numItemsInViewport.cols})}))),128)):s.createCommentVNode("",!0),s.renderSlot(t.$slots,"loadingicon",{},(()=>[s.createVNode(h,{spin:"",class:"p-virtualscroller-loading-icon"})]))],2)):s.createCommentVNode("",!0)],46,l))},o}(primevue.icons.spinner,primevue.utils,Vue);