primereact 8.1.1 → 8.2.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 (335) hide show
  1. package/autocomplete/autocomplete.cjs.js +19 -10
  2. package/autocomplete/autocomplete.cjs.min.js +1 -1
  3. package/autocomplete/autocomplete.esm.js +20 -11
  4. package/autocomplete/autocomplete.esm.min.js +1 -1
  5. package/autocomplete/autocomplete.js +19 -10
  6. package/autocomplete/autocomplete.min.js +1 -1
  7. package/avatar/avatar.cjs.js +7 -7
  8. package/avatar/avatar.cjs.min.js +1 -1
  9. package/avatar/avatar.d.ts +1 -3
  10. package/avatar/avatar.esm.js +7 -7
  11. package/avatar/avatar.esm.min.js +1 -1
  12. package/avatar/avatar.js +7 -7
  13. package/avatar/avatar.min.js +1 -1
  14. package/badge/badge.cjs.js +2 -2
  15. package/badge/badge.cjs.min.js +1 -1
  16. package/badge/badge.d.ts +2 -4
  17. package/badge/badge.esm.js +2 -2
  18. package/badge/badge.esm.min.js +1 -1
  19. package/badge/badge.js +2 -2
  20. package/badge/badge.min.js +1 -1
  21. package/calendar/calendar.cjs.js +77 -4
  22. package/calendar/calendar.cjs.min.js +1 -1
  23. package/calendar/calendar.d.ts +1 -0
  24. package/calendar/calendar.esm.js +77 -4
  25. package/calendar/calendar.esm.min.js +1 -1
  26. package/calendar/calendar.js +77 -4
  27. package/calendar/calendar.min.js +1 -1
  28. package/card/card.d.ts +1 -4
  29. package/cascadeselect/cascadeselect.cjs.js +3 -3
  30. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  31. package/cascadeselect/cascadeselect.d.ts +1 -1
  32. package/cascadeselect/cascadeselect.esm.js +3 -3
  33. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  34. package/cascadeselect/cascadeselect.js +3 -3
  35. package/cascadeselect/cascadeselect.min.js +1 -1
  36. package/chart/chart.cjs.js +13 -7
  37. package/chart/chart.cjs.min.js +1 -1
  38. package/chart/chart.esm.js +13 -7
  39. package/chart/chart.esm.min.js +1 -1
  40. package/chart/chart.js +13 -7
  41. package/chart/chart.min.js +1 -1
  42. package/checkbox/checkbox.cjs.js +1 -1
  43. package/checkbox/checkbox.cjs.min.js +1 -1
  44. package/checkbox/checkbox.esm.js +2 -2
  45. package/checkbox/checkbox.esm.min.js +1 -1
  46. package/checkbox/checkbox.js +1 -1
  47. package/checkbox/checkbox.min.js +1 -1
  48. package/chip/chip.d.ts +1 -3
  49. package/chips/chips.cjs.js +18 -2
  50. package/chips/chips.cjs.min.js +1 -1
  51. package/chips/chips.d.ts +3 -0
  52. package/chips/chips.esm.js +19 -3
  53. package/chips/chips.esm.min.js +1 -1
  54. package/chips/chips.js +19 -4
  55. package/chips/chips.min.js +1 -1
  56. package/column/column.d.ts +1 -0
  57. package/confirmdialog/confirmdialog.d.ts +1 -6
  58. package/contextmenu/contextmenu.cjs.js +1 -0
  59. package/contextmenu/contextmenu.cjs.min.js +1 -1
  60. package/contextmenu/contextmenu.esm.js +1 -0
  61. package/contextmenu/contextmenu.esm.min.js +1 -1
  62. package/contextmenu/contextmenu.js +1 -0
  63. package/contextmenu/contextmenu.min.js +1 -1
  64. package/core/core.js +249 -117
  65. package/core/core.min.js +9 -9
  66. package/datatable/datatable.cjs.js +63 -25
  67. package/datatable/datatable.cjs.min.js +1 -1
  68. package/datatable/datatable.esm.js +64 -26
  69. package/datatable/datatable.esm.min.js +1 -1
  70. package/datatable/datatable.js +63 -25
  71. package/datatable/datatable.min.js +1 -1
  72. package/dialog/dialog.cjs.js +2 -2
  73. package/dialog/dialog.cjs.min.js +1 -1
  74. package/dialog/dialog.esm.js +2 -2
  75. package/dialog/dialog.esm.min.js +1 -1
  76. package/dialog/dialog.js +2 -2
  77. package/dialog/dialog.min.js +1 -1
  78. package/dropdown/dropdown.cjs.js +29 -17
  79. package/dropdown/dropdown.cjs.min.js +1 -1
  80. package/dropdown/dropdown.d.ts +1 -1
  81. package/dropdown/dropdown.esm.js +29 -17
  82. package/dropdown/dropdown.esm.min.js +1 -1
  83. package/dropdown/dropdown.js +29 -17
  84. package/dropdown/dropdown.min.js +1 -1
  85. package/editor/editor.cjs.js +11 -3
  86. package/editor/editor.cjs.min.js +1 -1
  87. package/editor/editor.esm.js +11 -3
  88. package/editor/editor.esm.min.js +1 -1
  89. package/editor/editor.js +11 -3
  90. package/editor/editor.min.js +1 -1
  91. package/image/image.cjs.js +5 -5
  92. package/image/image.cjs.min.js +1 -1
  93. package/image/image.d.ts +1 -3
  94. package/image/image.esm.js +5 -5
  95. package/image/image.esm.min.js +1 -1
  96. package/image/image.js +5 -5
  97. package/image/image.min.css +1 -1
  98. package/image/image.min.js +1 -1
  99. package/inplace/inplace.cjs.js +1 -1
  100. package/inplace/inplace.cjs.min.js +1 -1
  101. package/inplace/inplace.esm.js +1 -1
  102. package/inplace/inplace.esm.min.js +1 -1
  103. package/inplace/inplace.js +1 -1
  104. package/inplace/inplace.min.js +1 -1
  105. package/inputmask/inputmask.cjs.js +7 -5
  106. package/inputmask/inputmask.cjs.min.js +1 -1
  107. package/inputmask/inputmask.d.ts +0 -1
  108. package/inputmask/inputmask.esm.js +7 -5
  109. package/inputmask/inputmask.esm.min.js +1 -1
  110. package/inputmask/inputmask.js +7 -5
  111. package/inputmask/inputmask.min.js +1 -1
  112. package/inputnumber/inputnumber.cjs.js +2 -2
  113. package/inputnumber/inputnumber.cjs.min.js +1 -1
  114. package/inputnumber/inputnumber.esm.js +2 -2
  115. package/inputnumber/inputnumber.esm.min.js +1 -1
  116. package/inputnumber/inputnumber.js +2 -2
  117. package/inputnumber/inputnumber.min.js +1 -1
  118. package/inputswitch/inputswitch.cjs.js +1 -1
  119. package/inputswitch/inputswitch.cjs.min.js +1 -1
  120. package/inputswitch/inputswitch.esm.js +2 -2
  121. package/inputswitch/inputswitch.esm.min.js +1 -1
  122. package/inputswitch/inputswitch.js +1 -1
  123. package/inputswitch/inputswitch.min.css +1 -1
  124. package/inputswitch/inputswitch.min.js +1 -1
  125. package/inputtext/inputtext.min.css +1 -1
  126. package/listbox/listbox.cjs.js +66 -6
  127. package/listbox/listbox.cjs.min.js +1 -1
  128. package/listbox/listbox.d.ts +1 -1
  129. package/listbox/listbox.esm.js +66 -6
  130. package/listbox/listbox.esm.min.js +1 -1
  131. package/listbox/listbox.js +67 -8
  132. package/listbox/listbox.min.js +1 -1
  133. package/megamenu/megamenu.cjs.js +32 -12
  134. package/megamenu/megamenu.cjs.min.js +1 -1
  135. package/megamenu/megamenu.d.ts +7 -0
  136. package/megamenu/megamenu.esm.js +32 -12
  137. package/megamenu/megamenu.esm.min.js +1 -1
  138. package/megamenu/megamenu.js +32 -12
  139. package/megamenu/megamenu.min.css +1 -1
  140. package/megamenu/megamenu.min.js +1 -1
  141. package/mention/mention.cjs.js +1 -1
  142. package/mention/mention.cjs.min.js +1 -1
  143. package/mention/mention.esm.js +1 -1
  144. package/mention/mention.esm.min.js +1 -1
  145. package/mention/mention.js +1 -1
  146. package/mention/mention.min.js +1 -1
  147. package/menubar/menubar.cjs.js +1 -0
  148. package/menubar/menubar.cjs.min.js +1 -1
  149. package/menubar/menubar.esm.js +1 -0
  150. package/menubar/menubar.esm.min.js +1 -1
  151. package/menubar/menubar.js +1 -0
  152. package/menubar/menubar.min.js +1 -1
  153. package/menuitem/menuitem.d.ts +2 -0
  154. package/message/message.d.ts +1 -1
  155. package/messages/messages.cjs.js +3 -2
  156. package/messages/messages.cjs.min.js +1 -1
  157. package/messages/messages.d.ts +1 -1
  158. package/messages/messages.esm.js +3 -2
  159. package/messages/messages.esm.min.js +1 -1
  160. package/messages/messages.js +3 -2
  161. package/messages/messages.min.js +1 -1
  162. package/multiselect/multiselect.cjs.js +20 -10
  163. package/multiselect/multiselect.cjs.min.js +1 -1
  164. package/multiselect/multiselect.d.ts +1 -1
  165. package/multiselect/multiselect.esm.js +20 -10
  166. package/multiselect/multiselect.esm.min.js +1 -1
  167. package/multiselect/multiselect.js +20 -10
  168. package/multiselect/multiselect.min.js +1 -1
  169. package/overlaypanel/overlaypanel.cjs.js +1 -1
  170. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  171. package/overlaypanel/overlaypanel.esm.js +1 -1
  172. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  173. package/overlaypanel/overlaypanel.js +1 -1
  174. package/overlaypanel/overlaypanel.min.js +1 -1
  175. package/package.json +1 -1
  176. package/panelmenu/panelmenu.cjs.js +1 -0
  177. package/panelmenu/panelmenu.cjs.min.js +1 -1
  178. package/panelmenu/panelmenu.esm.js +1 -0
  179. package/panelmenu/panelmenu.esm.min.js +1 -1
  180. package/panelmenu/panelmenu.js +1 -0
  181. package/panelmenu/panelmenu.min.js +1 -1
  182. package/picklist/picklist.cjs.js +169 -14
  183. package/picklist/picklist.cjs.min.js +1 -1
  184. package/picklist/picklist.d.ts +29 -0
  185. package/picklist/picklist.esm.js +169 -14
  186. package/picklist/picklist.esm.min.js +1 -1
  187. package/picklist/picklist.js +170 -16
  188. package/picklist/picklist.min.css +1 -1
  189. package/picklist/picklist.min.js +1 -1
  190. package/primereact.all.cjs.js +924 -387
  191. package/primereact.all.cjs.min.js +1 -1
  192. package/primereact.all.esm.js +924 -387
  193. package/primereact.all.esm.min.js +1 -1
  194. package/primereact.all.js +924 -387
  195. package/primereact.all.min.js +1 -1
  196. package/radiobutton/radiobutton.cjs.js +1 -1
  197. package/radiobutton/radiobutton.cjs.min.js +1 -1
  198. package/radiobutton/radiobutton.esm.js +2 -2
  199. package/radiobutton/radiobutton.esm.min.js +1 -1
  200. package/radiobutton/radiobutton.js +1 -1
  201. package/radiobutton/radiobutton.min.js +1 -1
  202. package/resources/primereact.css +248 -194
  203. package/resources/primereact.min.css +1 -1
  204. package/resources/themes/arya-blue/theme.css +20 -6
  205. package/resources/themes/arya-green/theme.css +20 -6
  206. package/resources/themes/arya-orange/theme.css +20 -6
  207. package/resources/themes/arya-purple/theme.css +20 -6
  208. package/resources/themes/bootstrap4-dark-blue/theme.css +20 -6
  209. package/resources/themes/bootstrap4-dark-purple/theme.css +20 -6
  210. package/resources/themes/bootstrap4-light-blue/theme.css +19 -5
  211. package/resources/themes/bootstrap4-light-purple/theme.css +19 -5
  212. package/resources/themes/fluent-light/theme.css +20 -6
  213. package/resources/themes/lara-dark-blue/theme.css +20 -6
  214. package/resources/themes/lara-dark-indigo/theme.css +20 -6
  215. package/resources/themes/lara-dark-purple/theme.css +20 -6
  216. package/resources/themes/lara-dark-teal/theme.css +20 -6
  217. package/resources/themes/lara-light-blue/theme.css +20 -6
  218. package/resources/themes/lara-light-indigo/theme.css +20 -6
  219. package/resources/themes/lara-light-purple/theme.css +20 -6
  220. package/resources/themes/lara-light-teal/theme.css +20 -6
  221. package/resources/themes/luna-amber/theme.css +20 -6
  222. package/resources/themes/luna-blue/theme.css +20 -6
  223. package/resources/themes/luna-green/theme.css +20 -6
  224. package/resources/themes/luna-pink/theme.css +20 -6
  225. package/resources/themes/md-dark-deeppurple/theme.css +20 -6
  226. package/resources/themes/md-dark-indigo/theme.css +20 -6
  227. package/resources/themes/md-light-deeppurple/theme.css +20 -6
  228. package/resources/themes/md-light-indigo/theme.css +20 -6
  229. package/resources/themes/mdc-dark-deeppurple/theme.css +20 -6
  230. package/resources/themes/mdc-dark-indigo/theme.css +20 -6
  231. package/resources/themes/mdc-light-deeppurple/theme.css +20 -6
  232. package/resources/themes/mdc-light-indigo/theme.css +20 -6
  233. package/resources/themes/nova/theme.css +20 -6
  234. package/resources/themes/nova-accent/theme.css +20 -6
  235. package/resources/themes/nova-alt/theme.css +20 -6
  236. package/resources/themes/rhea/theme.css +20 -6
  237. package/resources/themes/saga-blue/theme.css +20 -6
  238. package/resources/themes/saga-green/theme.css +20 -6
  239. package/resources/themes/saga-orange/theme.css +20 -6
  240. package/resources/themes/saga-purple/theme.css +20 -6
  241. package/resources/themes/tailwind-light/theme.css +20 -6
  242. package/resources/themes/vela-blue/theme.css +20 -6
  243. package/resources/themes/vela-green/theme.css +20 -6
  244. package/resources/themes/vela-orange/theme.css +20 -6
  245. package/resources/themes/vela-purple/theme.css +20 -6
  246. package/selectbutton/selectbutton.d.ts +1 -1
  247. package/slidemenu/slidemenu.cjs.js +1 -0
  248. package/slidemenu/slidemenu.cjs.min.js +1 -1
  249. package/slidemenu/slidemenu.esm.js +1 -0
  250. package/slidemenu/slidemenu.esm.min.js +1 -1
  251. package/slidemenu/slidemenu.js +1 -0
  252. package/slidemenu/slidemenu.min.js +1 -1
  253. package/slider/slider.d.ts +1 -1
  254. package/splitbutton/splitbutton.cjs.js +4 -0
  255. package/splitbutton/splitbutton.cjs.min.js +1 -1
  256. package/splitbutton/splitbutton.d.ts +2 -0
  257. package/splitbutton/splitbutton.esm.js +4 -0
  258. package/splitbutton/splitbutton.esm.min.js +1 -1
  259. package/splitbutton/splitbutton.js +4 -0
  260. package/splitbutton/splitbutton.min.js +1 -1
  261. package/splitter/splitter.cjs.js +9 -5
  262. package/splitter/splitter.cjs.min.js +1 -1
  263. package/splitter/splitter.esm.js +10 -6
  264. package/splitter/splitter.esm.min.js +1 -1
  265. package/splitter/splitter.js +9 -5
  266. package/splitter/splitter.min.js +1 -1
  267. package/steps/steps.cjs.js +1 -0
  268. package/steps/steps.cjs.min.js +1 -1
  269. package/steps/steps.esm.js +1 -0
  270. package/steps/steps.esm.min.js +1 -1
  271. package/steps/steps.js +1 -0
  272. package/steps/steps.min.js +1 -1
  273. package/styleclass/styleclass.d.ts +1 -1
  274. package/tag/tag.d.ts +1 -1
  275. package/terminal/terminal.cjs.js +1 -1
  276. package/terminal/terminal.cjs.min.js +1 -1
  277. package/terminal/terminal.esm.js +2 -2
  278. package/terminal/terminal.esm.min.js +1 -1
  279. package/terminal/terminal.js +1 -1
  280. package/terminal/terminal.min.js +1 -1
  281. package/tieredmenu/tieredmenu.cjs.js +3 -1
  282. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  283. package/tieredmenu/tieredmenu.esm.js +3 -1
  284. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  285. package/tieredmenu/tieredmenu.js +3 -1
  286. package/tieredmenu/tieredmenu.min.js +1 -1
  287. package/toast/toast.cjs.js +30 -35
  288. package/toast/toast.cjs.min.js +1 -1
  289. package/toast/toast.d.ts +2 -1
  290. package/toast/toast.esm.js +30 -35
  291. package/toast/toast.esm.min.js +1 -1
  292. package/toast/toast.js +30 -35
  293. package/toast/toast.min.css +1 -1
  294. package/toast/toast.min.js +1 -1
  295. package/tooltip/tooltip.cjs.js +28 -22
  296. package/tooltip/tooltip.cjs.min.js +1 -1
  297. package/tooltip/tooltip.esm.js +28 -22
  298. package/tooltip/tooltip.esm.min.js +1 -1
  299. package/tooltip/tooltip.js +28 -22
  300. package/tooltip/tooltip.min.js +1 -1
  301. package/tree/tree.cjs.js +9 -1
  302. package/tree/tree.cjs.min.js +1 -1
  303. package/tree/tree.esm.js +9 -1
  304. package/tree/tree.esm.min.js +1 -1
  305. package/tree/tree.js +9 -1
  306. package/tree/tree.min.js +1 -1
  307. package/treeselect/treeselect.cjs.js +2 -2
  308. package/treeselect/treeselect.cjs.min.js +1 -1
  309. package/treeselect/treeselect.esm.js +2 -2
  310. package/treeselect/treeselect.esm.min.js +1 -1
  311. package/treeselect/treeselect.js +2 -2
  312. package/treeselect/treeselect.min.js +1 -1
  313. package/treetable/treetable.cjs.js +1 -0
  314. package/treetable/treetable.cjs.min.js +1 -1
  315. package/treetable/treetable.d.ts +2 -2
  316. package/treetable/treetable.esm.js +1 -0
  317. package/treetable/treetable.esm.min.js +1 -1
  318. package/treetable/treetable.js +1 -0
  319. package/treetable/treetable.min.js +1 -1
  320. package/utils/utils.cjs.js +21 -5
  321. package/utils/utils.cjs.min.js +1 -1
  322. package/utils/utils.d.ts +1 -0
  323. package/utils/utils.esm.js +21 -5
  324. package/utils/utils.esm.min.js +1 -1
  325. package/utils/utils.js +21 -5
  326. package/utils/utils.min.js +1 -1
  327. package/virtualscroller/virtualscroller.cjs.js +154 -65
  328. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  329. package/virtualscroller/virtualscroller.d.ts +12 -0
  330. package/virtualscroller/virtualscroller.esm.js +156 -67
  331. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  332. package/virtualscroller/virtualscroller.js +154 -65
  333. package/virtualscroller/virtualscroller.min.css +1 -1
  334. package/virtualscroller/virtualscroller.min.js +1 -1
  335. package/web-types.json +167 -4
@@ -153,7 +153,7 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
153
153
  numToleratedItemsState = _React$useState8[0],
154
154
  setNumToleratedItemsState = _React$useState8[1];
155
155
 
156
- var _React$useState9 = React__namespace.useState(props.loading),
156
+ var _React$useState9 = React__namespace.useState(props.loading || false),
157
157
  _React$useState10 = _slicedToArray(_React$useState9, 2),
158
158
  loadingState = _React$useState10[0],
159
159
  setLoadingState = _React$useState10[1];
@@ -176,10 +176,39 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
176
176
  left: 0
177
177
  } : 0);
178
178
  var scrollTimeout = React__namespace.useRef(null);
179
+ var resizeTimeout = React__namespace.useRef(null);
180
+ var defaultWidth = React__namespace.useRef(null);
181
+ var defaultHeight = React__namespace.useRef(null);
179
182
  var prevItems = hooks.usePrevious(props.items);
180
183
  var prevLoading = hooks.usePrevious(props.loading);
181
184
 
185
+ var _useResizeListener = hooks.useResizeListener({
186
+ listener: function listener(event) {
187
+ return onResize(event);
188
+ }
189
+ }),
190
+ _useResizeListener2 = _slicedToArray(_useResizeListener, 1),
191
+ bindWindowResizeListener = _useResizeListener2[0];
192
+
193
+ var _useEventListener = hooks.useEventListener({
194
+ target: 'window',
195
+ type: 'orientationchange',
196
+ listener: function listener(event) {
197
+ return onResize(event);
198
+ }
199
+ }),
200
+ _useEventListener2 = _slicedToArray(_useEventListener, 1),
201
+ bindOrientationChangeListener = _useEventListener2[0];
202
+
203
+ var getElementRef = function getElementRef() {
204
+ return elementRef;
205
+ };
206
+
182
207
  var scrollTo = function scrollTo(options) {
208
+ lastScrollPos.current = both ? {
209
+ top: 0,
210
+ left: 0
211
+ } : 0;
183
212
  elementRef.current && elementRef.current.scrollTo(options);
184
213
  };
185
214
 
@@ -189,9 +218,6 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
189
218
  var _calculateNumItems = calculateNumItems(),
190
219
  numToleratedItems = _calculateNumItems.numToleratedItems;
191
220
 
192
- var itemSize = props.itemSize;
193
- var contentPos = getContentPosition();
194
-
195
221
  var calculateFirst = function calculateFirst() {
196
222
  var _index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
197
223
 
@@ -200,8 +226,8 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
200
226
  return _index <= _numT ? 0 : _index;
201
227
  };
202
228
 
203
- var calculateCoord = function calculateCoord(_first, _size, _cpos) {
204
- return _first * _size + _cpos;
229
+ var calculateCoord = function calculateCoord(_first, _size) {
230
+ return _first * _size;
205
231
  };
206
232
 
207
233
  var scrollToItem = function scrollToItem() {
@@ -221,15 +247,13 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
221
247
  };
222
248
 
223
249
  if (newFirst.rows !== firstState.rows || newFirst.cols !== firstState.cols) {
224
- scrollToItem(calculateCoord(newFirst.cols, itemSize[1], contentPos.left), calculateCoord(newFirst.rows, itemSize[0], contentPos.top));
225
- setFirstState(newFirst);
250
+ scrollToItem(calculateCoord(newFirst.cols, props.itemSize[1]), calculateCoord(newFirst.rows, props.itemSize[0]));
226
251
  }
227
252
  } else {
228
253
  var _newFirst = calculateFirst(index, numToleratedItems);
229
254
 
230
255
  if (_newFirst !== firstState) {
231
- horizontal ? scrollToItem(calculateCoord(_newFirst, itemSize, contentPos.left), 0) : scrollToItem(0, calculateCoord(_newFirst, itemSize, contentPos.top));
232
- setFirstState(_newFirst);
256
+ horizontal ? scrollToItem(calculateCoord(_newFirst, props.itemSize), 0) : scrollToItem(0, calculateCoord(_newFirst, props.itemSize));
233
257
  }
234
258
  }
235
259
  };
@@ -242,8 +266,6 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
242
266
  first = _getRenderedRange.first,
243
267
  viewport = _getRenderedRange.viewport;
244
268
 
245
- var itemSize = props.itemSize;
246
-
247
269
  var scrollToItem = function scrollToItem() {
248
270
  var left = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
249
271
  var top = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
@@ -260,26 +282,26 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
260
282
  if (isToStart) {
261
283
  if (both) {
262
284
  if (viewport.first.rows - first.rows > index[0]) {
263
- scrollToItem(viewport.first.cols * itemSize, (viewport.first.rows - 1) * itemSize);
285
+ scrollToItem(viewport.first.cols * props.itemSize[1], (viewport.first.rows - 1) * props.itemSize[0]);
264
286
  } else if (viewport.first.cols - first.cols > index[1]) {
265
- scrollToItem((viewport.first.cols - 1) * itemSize, viewport.first.rows * itemSize);
287
+ scrollToItem((viewport.first.cols - 1) * props.itemSize[1], viewport.first.rows * props.itemSize[0]);
266
288
  }
267
289
  } else {
268
290
  if (viewport.first - first > index) {
269
- var pos = (viewport.first - 1) * itemSize;
291
+ var pos = (viewport.first - 1) * props.itemSize;
270
292
  horizontal ? scrollToItem(pos, 0) : scrollToItem(0, pos);
271
293
  }
272
294
  }
273
295
  } else if (isToEnd) {
274
296
  if (both) {
275
297
  if (viewport.last.rows - first.rows <= index[0] + 1) {
276
- scrollToItem(viewport.first.cols * itemSize, (viewport.first.rows + 1) * itemSize);
298
+ scrollToItem(viewport.first.cols * props.itemSize[1], (viewport.first.rows + 1) * props.itemSize[0]);
277
299
  } else if (viewport.last.cols - first.cols <= index[1] + 1) {
278
- scrollToItem((viewport.first.cols + 1) * itemSize, viewport.first.rows * itemSize);
300
+ scrollToItem((viewport.first.cols + 1) * props.itemSize[1], viewport.first.rows * props.itemSize[0]);
279
301
  }
280
302
  } else {
281
303
  if (viewport.last - first <= index + 1) {
282
- var _pos2 = (viewport.first + 1) * itemSize;
304
+ var _pos2 = (viewport.first + 1) * props.itemSize;
283
305
 
284
306
  horizontal ? scrollToItem(_pos2, 0) : scrollToItem(0, _pos2);
285
307
  }
@@ -295,18 +317,14 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
295
317
  };
296
318
 
297
319
  var getColumns = function getColumns() {
298
- if (props.columns) {
299
- if (both || horizontal) {
300
- return loadingState && props.loaderDisabled ? both ? loaderArrState[0] : loaderArrState : props.columns.slice(both ? firstState.cols : firstState, both ? lastState.cols : lastState);
301
- }
320
+ if (props.columns && both || horizontal) {
321
+ return loadingState && props.loaderDisabled ? both ? loaderArrState[0] : loaderArrState : props.columns.slice(both ? firstState.cols : firstState, both ? lastState.cols : lastState);
302
322
  }
303
323
 
304
324
  return props.columns;
305
325
  };
306
326
 
307
327
  var getRenderedRange = function getRenderedRange() {
308
- var itemSize = props.itemSize;
309
-
310
328
  var calculateFirstInViewport = function calculateFirstInViewport(_pos, _size) {
311
329
  return Math.floor(_pos / (_size || _pos));
312
330
  };
@@ -315,13 +333,14 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
315
333
  var lastInViewport = 0;
316
334
 
317
335
  if (elementRef.current) {
318
- var scrollTop = elementRef.current.scrollTop;
319
- var scrollLeft = elementRef.current.scrollLeft;
336
+ var _elementRef$current = elementRef.current,
337
+ scrollTop = _elementRef$current.scrollTop,
338
+ scrollLeft = _elementRef$current.scrollLeft;
320
339
 
321
340
  if (both) {
322
341
  firstInViewport = {
323
- rows: calculateFirstInViewport(scrollTop, itemSize[0]),
324
- cols: calculateFirstInViewport(scrollLeft, itemSize[1])
342
+ rows: calculateFirstInViewport(scrollTop, props.itemSize[0]),
343
+ cols: calculateFirstInViewport(scrollLeft, props.itemSize[1])
325
344
  };
326
345
  lastInViewport = {
327
346
  rows: firstInViewport.rows + numItemsInViewportState.rows,
@@ -329,7 +348,7 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
329
348
  };
330
349
  } else {
331
350
  var scrollPos = horizontal ? scrollLeft : scrollTop;
332
- firstInViewport = calculateFirstInViewport(scrollPos, itemSize);
351
+ firstInViewport = calculateFirstInViewport(scrollPos, props.itemSize);
333
352
  lastInViewport = firstInViewport + numItemsInViewportState;
334
353
  }
335
354
  }
@@ -345,7 +364,6 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
345
364
  };
346
365
 
347
366
  var calculateNumItems = function calculateNumItems() {
348
- var itemSize = props.itemSize;
349
367
  var contentPos = getContentPosition();
350
368
  var contentWidth = elementRef.current ? elementRef.current.offsetWidth - contentPos.left : 0;
351
369
  var contentHeight = elementRef.current ? elementRef.current.offsetHeight - contentPos.top : 0;
@@ -359,9 +377,9 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
359
377
  };
360
378
 
361
379
  var numItemsInViewport = both ? {
362
- rows: calculateNumItemsInViewport(contentHeight, itemSize[0]),
363
- cols: calculateNumItemsInViewport(contentWidth, itemSize[1])
364
- } : calculateNumItemsInViewport(horizontal ? contentWidth : contentHeight, itemSize);
380
+ rows: calculateNumItemsInViewport(contentHeight, props.itemSize[0]),
381
+ cols: calculateNumItemsInViewport(contentWidth, props.itemSize[1])
382
+ } : calculateNumItemsInViewport(horizontal ? contentWidth : contentHeight, props.itemSize);
365
383
  var numToleratedItems = numToleratedItemsState || (both ? [calculateNumToleratedItems(numItemsInViewport.rows), calculateNumToleratedItems(numItemsInViewport.cols)] : calculateNumToleratedItems(numItemsInViewport));
366
384
  return {
367
385
  numItemsInViewport: numItemsInViewport,
@@ -406,15 +424,26 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
406
424
  }
407
425
  };
408
426
 
427
+ var calculateAutoSize = function calculateAutoSize(loading) {
428
+ if (props.autoSize && !loading) {
429
+ Promise.resolve().then(function () {
430
+ if (_contentRef.current) {
431
+ _contentRef.current.style.minHeight = _contentRef.current.style.minWidth = 'auto';
432
+ var _contentRef$current = _contentRef.current,
433
+ offsetWidth = _contentRef$current.offsetWidth,
434
+ offsetHeight = _contentRef$current.offsetHeight;
435
+ (both || horizontal) && (elementRef.current.style.width = (offsetWidth < defaultWidth.current ? offsetWidth : defaultWidth.current) + 'px');
436
+ (both || vertical) && (elementRef.current.style.height = (offsetHeight < defaultHeight.current ? offsetHeight : defaultHeight.current) + 'px');
437
+ _contentRef.current.style.minHeight = _contentRef.current.style.minWidth = '';
438
+ }
439
+ });
440
+ }
441
+ };
442
+
409
443
  var getLast = function getLast() {
410
444
  var last = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
411
445
  var isCols = arguments.length > 1 ? arguments[1] : undefined;
412
-
413
- if (props.items) {
414
- return Math.min(isCols ? (props.columns || props.items[0]).length : props.items.length, last);
415
- }
416
-
417
- return 0;
446
+ return props.items ? Math.min(isCols ? (props.columns || props.items[0]).length : props.items.length, last) : 0;
418
447
  };
419
448
 
420
449
  var getContentPosition = function getContentPosition() {
@@ -467,7 +496,6 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
467
496
  var items = props.items;
468
497
 
469
498
  if (_spacerRef.current && items) {
470
- var itemSize = props.itemSize;
471
499
  var contentPos = getContentPosition();
472
500
 
473
501
  var setProp = function setProp(_name, _value, _size) {
@@ -477,10 +505,10 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
477
505
  };
478
506
 
479
507
  if (both) {
480
- setProp('height', items, itemSize[0], contentPos.y);
481
- setProp('width', props.columns || items[1], itemSize[1], contentPos.x);
508
+ setProp('height', items, props.itemSize[0], contentPos.y);
509
+ setProp('width', props.columns || items[1], props.itemSize[1], contentPos.x);
482
510
  } else {
483
- horizontal ? setProp('width', props.columns || items, itemSize, contentPos.x) : setProp('height', items, itemSize, contentPos.y);
511
+ horizontal ? setProp('width', props.columns || items, props.itemSize, contentPos.x) : setProp('height', items, props.itemSize, contentPos.y);
484
512
  }
485
513
  }
486
514
  };
@@ -488,7 +516,6 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
488
516
  var setContentPosition = function setContentPosition(pos) {
489
517
  if (_contentRef.current) {
490
518
  var first = pos ? pos.first : firstState;
491
- var itemSize = props.itemSize;
492
519
 
493
520
  var calculateTranslateVal = function calculateTranslateVal(_first, _size) {
494
521
  return _first * _size;
@@ -504,9 +531,9 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
504
531
  };
505
532
 
506
533
  if (both) {
507
- setTransform(calculateTranslateVal(first.cols, itemSize[1]), calculateTranslateVal(first.rows, itemSize[0]));
534
+ setTransform(calculateTranslateVal(first.cols, props.itemSize[1]), calculateTranslateVal(first.rows, props.itemSize[0]));
508
535
  } else {
509
- var translateVal = calculateTranslateVal(first, itemSize);
536
+ var translateVal = calculateTranslateVal(first, props.itemSize);
510
537
  horizontal ? setTransform(translateVal, 0) : setTransform(0, translateVal);
511
538
  }
512
539
  }
@@ -514,7 +541,6 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
514
541
 
515
542
  var onScrollPositionChange = function onScrollPositionChange(event) {
516
543
  var target = event.target;
517
- var itemSize = props.itemSize;
518
544
  var contentPos = getContentPosition();
519
545
 
520
546
  var calculateScrollPos = function calculateScrollPos(_pos, _cpos) {
@@ -545,16 +571,20 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
545
571
 
546
572
  var scrollTop = calculateScrollPos(target.scrollTop, contentPos.top);
547
573
  var scrollLeft = calculateScrollPos(target.scrollLeft, contentPos.left);
548
- var newFirst = 0;
574
+ var newFirst = both ? {
575
+ rows: 0,
576
+ cols: 0
577
+ } : 0;
549
578
  var newLast = lastState;
550
579
  var isRangeChanged = false;
580
+ var newScrollPos = lastScrollPos.current;
551
581
 
552
582
  if (both) {
553
583
  var isScrollDown = lastScrollPos.current.top <= scrollTop;
554
584
  var isScrollRight = lastScrollPos.current.left <= scrollLeft;
555
585
  var currentIndex = {
556
- rows: calculateCurrentIndex(scrollTop, itemSize[0]),
557
- cols: calculateCurrentIndex(scrollLeft, itemSize[1])
586
+ rows: calculateCurrentIndex(scrollTop, props.itemSize[0]),
587
+ cols: calculateCurrentIndex(scrollLeft, props.itemSize[1])
558
588
  };
559
589
  var triggerIndex = {
560
590
  rows: calculateTriggerIndex(currentIndex.rows, firstState.rows, lastState.rows, numItemsInViewportState.rows, numToleratedItemsState[0], isScrollDown),
@@ -568,8 +598,8 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
568
598
  rows: calculateLast(currentIndex.rows, newFirst.rows, lastState.rows, numItemsInViewportState.rows, numToleratedItemsState[0]),
569
599
  cols: calculateLast(currentIndex.cols, newFirst.cols, lastState.cols, numItemsInViewportState.cols, numToleratedItemsState[1], true)
570
600
  };
571
- isRangeChanged = newFirst.rows !== firstState.rows && newLast.rows !== lastState.rows || newFirst.cols !== firstState.cols && newLast.cols !== lastState.cols;
572
- lastScrollPos.current = {
601
+ isRangeChanged = newFirst.rows !== firstState.rows || newLast.rows !== lastState.rows || newFirst.cols !== firstState.cols || newLast.cols !== lastState.cols;
602
+ newScrollPos = {
573
603
  top: scrollTop,
574
604
  left: scrollLeft
575
605
  };
@@ -577,20 +607,21 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
577
607
  var scrollPos = horizontal ? scrollLeft : scrollTop;
578
608
  var isScrollDownOrRight = lastScrollPos.current <= scrollPos;
579
609
 
580
- var _currentIndex2 = calculateCurrentIndex(scrollPos, itemSize);
610
+ var _currentIndex2 = calculateCurrentIndex(scrollPos, props.itemSize);
581
611
 
582
612
  var _triggerIndex2 = calculateTriggerIndex(_currentIndex2, firstState, lastState, numItemsInViewportState, numToleratedItemsState, isScrollDownOrRight);
583
613
 
584
614
  newFirst = calculateFirst(_currentIndex2, _triggerIndex2, firstState, lastState, numItemsInViewportState, numToleratedItemsState, isScrollDownOrRight);
585
615
  newLast = calculateLast(_currentIndex2, newFirst, lastState, numItemsInViewportState, numToleratedItemsState);
586
- isRangeChanged = newFirst !== firstState && newLast !== lastState;
587
- lastScrollPos.current = scrollPos;
616
+ isRangeChanged = newFirst !== firstState || newLast !== lastState;
617
+ newScrollPos = scrollPos;
588
618
  }
589
619
 
590
620
  return {
591
621
  first: newFirst,
592
622
  last: newLast,
593
- isRangeChanged: isRangeChanged
623
+ isRangeChanged: isRangeChanged,
624
+ scrollPos: newScrollPos
594
625
  };
595
626
  };
596
627
 
@@ -598,7 +629,8 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
598
629
  var _onScrollPositionChan = onScrollPositionChange(event),
599
630
  first = _onScrollPositionChan.first,
600
631
  last = _onScrollPositionChan.last,
601
- isRangeChanged = _onScrollPositionChan.isRangeChanged;
632
+ isRangeChanged = _onScrollPositionChan.isRangeChanged,
633
+ scrollPos = _onScrollPositionChan.scrollPos;
602
634
 
603
635
  if (isRangeChanged) {
604
636
  var newState = {
@@ -608,6 +640,7 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
608
640
  setContentPosition(newState);
609
641
  setFirstState(first);
610
642
  setLastState(last);
643
+ lastScrollPos.current = scrollPos;
611
644
  props.onScrollIndexChange && props.onScrollIndexChange(newState);
612
645
 
613
646
  if (props.lazy) {
@@ -634,7 +667,7 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
634
667
  scrollTimeout.current = setTimeout(function () {
635
668
  onScrollChange(event);
636
669
 
637
- if (loadingState && props.showLoader && !props.lazy) {
670
+ if (loadingState && props.showLoader && (!props.lazy || props.loading === undefined)) {
638
671
  setLoadingState(false);
639
672
  }
640
673
  }, props.delay);
@@ -643,10 +676,32 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
643
676
  }
644
677
  };
645
678
 
679
+ var onResize = function onResize() {
680
+ if (resizeTimeout.current) {
681
+ clearTimeout(resizeTimeout.current);
682
+ }
683
+
684
+ resizeTimeout.current = setTimeout(function () {
685
+ if (elementRef.current) {
686
+ var _ref = [utils.DomHandler.getWidth(elementRef.current), utils.DomHandler.getHeight(elementRef.current)],
687
+ width = _ref[0],
688
+ height = _ref[1];
689
+ var isDiffWidth = width !== defaultWidth.current,
690
+ isDiffHeight = height !== defaultHeight.current;
691
+ var reinit = both ? isDiffWidth || isDiffHeight : horizontal ? isDiffWidth : vertical ? isDiffHeight : false;
692
+
693
+ if (reinit) {
694
+ setNumToleratedItemsState(props.numToleratedItems);
695
+ defaultWidth.current = width;
696
+ defaultHeight.current = height;
697
+ }
698
+ }
699
+ }, props.resizeDelay);
700
+ };
701
+
646
702
  var getOptions = function getOptions(renderedIndex) {
647
- var first = firstState;
648
703
  var count = (props.items || []).length;
649
- var index = both ? first.rows + renderedIndex : first + renderedIndex;
704
+ var index = both ? firstState.rows + renderedIndex : firstState + renderedIndex;
650
705
  return {
651
706
  index: index,
652
707
  count: count,
@@ -684,25 +739,48 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
684
739
  };
685
740
 
686
741
  var init = function init() {
687
- setSize();
688
- calculateOptions();
689
- setSpacerSize();
742
+ if (!props.disabled) {
743
+ setSize();
744
+ calculateOptions();
745
+ setSpacerSize();
746
+ }
690
747
  };
691
748
 
692
749
  hooks.useMountEffect(function () {
693
- init();
750
+ if (!props.disabled) {
751
+ init();
752
+ bindWindowResizeListener();
753
+ bindOrientationChangeListener();
754
+ defaultWidth.current = utils.DomHandler.getWidth(elementRef.current);
755
+ defaultHeight.current = utils.DomHandler.getHeight(elementRef.current);
756
+ }
694
757
  });
695
758
  hooks.useUpdateEffect(function () {
696
759
  init();
697
760
  }, [props.itemSize, props.scrollHeight]);
761
+ hooks.useUpdateEffect(function () {
762
+ if (props.numToleratedItems !== numToleratedItemsState) {
763
+ setNumToleratedItemsState(props.numToleratedItems);
764
+ }
765
+ }, [props.numToleratedItems]);
766
+ hooks.useUpdateEffect(function () {
767
+ if (props.numToleratedItems === numToleratedItemsState) {
768
+ init(); // reinit after resizing
769
+ }
770
+ }, [numToleratedItemsState]);
698
771
  hooks.useUpdateEffect(function () {
699
772
  if (!prevItems || prevItems.length !== (props.items || []).length) {
700
773
  init();
701
774
  }
702
775
 
776
+ var loading = loadingState;
777
+
703
778
  if (props.lazy && prevLoading !== props.loading && props.loading !== loadingState) {
704
779
  setLoadingState(props.loading);
780
+ loading = props.loading;
705
781
  }
782
+
783
+ calculateAutoSize(loading);
706
784
  });
707
785
  hooks.useUpdateEffect(function () {
708
786
  lastScrollPos.current = both ? {
@@ -712,6 +790,7 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
712
790
  }, [props.orientation]);
713
791
  React__namespace.useImperativeHandle(ref, function () {
714
792
  return {
793
+ getElementRef: getElementRef,
715
794
  scrollTo: scrollTo,
716
795
  scrollToIndex: scrollToIndex,
717
796
  scrollInView: scrollInView,
@@ -743,6 +822,13 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
743
822
  numCols: numItemsInViewportState.cols
744
823
  });
745
824
  });
825
+ } else if (props.loaderIconTemplate) {
826
+ var defaultContentOptions = {
827
+ className: 'p-virtualscroller-loading-icon',
828
+ element: content,
829
+ props: props
830
+ };
831
+ content = utils.ObjectUtils.getJSXElement(props.loaderIconTemplate, defaultContentOptions);
746
832
  }
747
833
 
748
834
  return /*#__PURE__*/React__namespace.createElement("div", {
@@ -865,14 +951,17 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
865
951
  orientation: 'vertical',
866
952
  numToleratedItems: null,
867
953
  delay: 0,
954
+ resizeDelay: 10,
868
955
  lazy: false,
869
956
  disabled: false,
870
957
  loaderDisabled: false,
871
958
  columns: null,
872
- loading: false,
959
+ loading: undefined,
960
+ autoSize: false,
873
961
  showSpacer: true,
874
962
  showLoader: false,
875
963
  loadingTemplate: null,
964
+ loaderIconTemplate: null,
876
965
  itemTemplate: null,
877
966
  contentTemplate: null,
878
967
  onScroll: null,
@@ -1 +1 @@
1
- .p-virtualscroller{position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;outline:0 none}.p-virtualscroller-content{position:absolute;top:0;left:0;min-height:100%;min-width:100%;will-change:transform}.p-virtualscroller-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0;pointer-events:none}.p-virtualscroller-loader{position:sticky;top:0;left:0;width:100%;height:100%}.p-virtualscroller-loader.p-component-overlay{display:flex;align-items:center;justify-content:center}
1
+ .p-virtualscroller{position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;outline:0 none}.p-virtualscroller-content{position:absolute;top:0;left:0;min-height:100%;min-width:100%;will-change:transform}.p-virtualscroller-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0;pointer-events:none}.p-virtualscroller-loader{position:sticky;top:0;left:0;width:100%;height:100%}.p-virtualscroller-loader.p-component-overlay{display:flex;align-items:center;justify-content:center}.p-virtualscroller-loading-icon{font-size:2rem}
@@ -1 +1 @@
1
- this.primereact=this.primereact||{},this.primereact.virtualscroller=function(e,t,r,n){"use strict";function o(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var l=o(t);function s(){return s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},s.apply(this,arguments)}function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e){if(Array.isArray(e))return e}function c(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,l=[],s=!0,i=!1;try{for(r=r.call(e);!(s=(n=r.next()).done)&&(l.push(n.value),!t||l.length!==t);s=!0);}catch(e){i=!0,o=e}finally{try{s||null==r.return||r.return()}finally{if(i)throw o}}return l}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function f(e,t){if(e){if("string"==typeof e)return u(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?u(e,t):void 0}}function m(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function d(e,t){return a(e)||c(e,t)||f(e,t)||m()}function p(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function h(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?p(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):p(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var g=l.memo(l.forwardRef((function(e,t){var o="vertical"===e.orientation,i="horizontal"===e.orientation,a="both"===e.orientation,c=d(l.useState(a?{rows:0,cols:0}:0),2),u=c[0],f=c[1],m=d(l.useState(a?{rows:0,cols:0}:0),2),p=m[0],v=m[1],w=d(l.useState(a?{rows:0,cols:0}:0),2),y=w[0],b=w[1],S=d(l.useState(e.numToleratedItems),2),O=S[0],j=S[1],I=d(l.useState(e.loading),2),T=I[0],z=I[1],E=d(l.useState([]),2),x=E[0],R=E[1],L=l.useRef(null),P=l.useRef(null),M=l.useRef(null),N=l.useRef(null),U=l.useRef(a?{top:0,left:0}:0),D=l.useRef(null),A=r.usePrevious(e.items),C=r.usePrevious(e.loading),H=function(e){L.current&&L.current.scrollTo(e)},k=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"auto",n=W(),o=n.numToleratedItems,l=e.itemSize,s=X(),c=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0;return e<=t?0:e},m=function(e,t,r){return e*t+r},d=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return H({left:e,top:t,behavior:r})};if(a){var p={rows:c(t[0],o[0]),cols:c(t[1],o[1])};p.rows===u.rows&&p.cols===u.cols||(d(m(p.cols,l[1],s.left),m(p.rows,l[0],s.top)),f(p))}else{var h=c(t,o);h!==u&&(i?d(m(h,l,s.left),0):d(0,m(h,l,s.top)),f(h))}},V=function(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"auto";if(r){var o=_(),l=o.first,s=o.viewport,c=e.itemSize,u=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return H({left:e,top:t,behavior:n})},f="to-start"===r,m="to-end"===r;if(f){if(a)s.first.rows-l.rows>t[0]?u(s.first.cols*c,(s.first.rows-1)*c):s.first.cols-l.cols>t[1]&&u((s.first.cols-1)*c,s.first.rows*c);else if(s.first-l>t){var d=(s.first-1)*c;i?u(d,0):u(0,d)}}else if(m)if(a)s.last.rows-l.rows<=t[0]+1?u(s.first.cols*c,(s.first.rows+1)*c):s.last.cols-l.cols<=t[1]+1&&u((s.first.cols+1)*c,s.first.rows*c);else if(s.last-l<=t+1){var p=(s.first+1)*c;i?u(p,0):u(0,p)}}else k(t,n)},_=function(){var t=e.itemSize,r=function(e,t){return Math.floor(e/(t||e))},n=u,o=0;if(L.current){var l=L.current.scrollTop,s=L.current.scrollLeft;if(a)o={rows:(n={rows:r(l,t[0]),cols:r(s,t[1])}).rows+y.rows,cols:n.cols+y.cols};else o=(n=r(i?s:l,t))+y}return{first:u,last:p,viewport:{first:n,last:o}}},W=function(){var t=e.itemSize,r=X(),n=L.current?L.current.offsetWidth-r.left:0,o=L.current?L.current.offsetHeight-r.top:0,l=function(e,t){return Math.ceil(e/(t||e))},s=function(e){return Math.ceil(e/2)},c=a?{rows:l(o,t[0]),cols:l(n,t[1])}:l(i?n:o,t);return{numItemsInViewport:c,numToleratedItems:O||(a?[s(c.rows),s(c.cols)]:s(c))}},J=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1?arguments[1]:void 0;return e.items?Math.min(r?(e.columns||e.items[0]).length:e.items.length,t):0},X=function(){if(P.current){var e=getComputedStyle(P.current),t=parseInt(e.paddingLeft,10)+Math.max(parseInt(e.left,10),0),r=parseInt(e.paddingRight,10)+Math.max(parseInt(e.right,10),0),n=parseInt(e.paddingTop,10)+Math.max(parseInt(e.top,10),0),o=parseInt(e.paddingBottom,10)+Math.max(parseInt(e.bottom,10),0);return{left:t,right:r,top:n,bottom:o,x:t+r,y:n+o}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},F=function(){if(L.current){var t=L.current.parentElement,r=e.scrollWidth||"".concat(L.current.offsetWidth||t.offsetWidth,"px"),n=e.scrollHeight||"".concat(L.current.offsetHeight||t.offsetHeight,"px"),o=function(e,t){return L.current.style[e]=t};a||i?(o("height",n),o("width",r)):o("height",n)}},B=function(){var t=e.items;if(M.current&&t){var r=e.itemSize,n=X(),o=function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return M.current.style[e]=(t||[]).length*r+n+"px"};a?(o("height",t,r[0],n.y),o("width",e.columns||t[1],r[1],n.x)):i?o("width",e.columns||t,r,n.x):o("height",t,r,n.y)}},K=function(t){if(P.current){var r=t?t.first:u,n=e.itemSize,o=function(e,t){return e*t},l=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;N.current&&(N.current.style.top="-".concat(t,"px")),P.current.style.transform="translate3d(".concat(e,"px, ").concat(t,"px, 0)")};if(a)l(o(r.cols,n[1]),o(r.rows,n[0]));else{var s=o(r,n);i?l(s,0):l(0,s)}}},Y=function(t){var r=t.target,n=e.itemSize,o=X(),l=function(e,t){return e?e>t?e-t:e:0},s=function(e,t){return Math.floor(e/(t||e))},c=function(e,t,r,n,o,l){return e<=o?o:l?r-n-o:t+o-1},f=function(e,t,r,n,o,l,s){return e<=l?0:Math.max(0,s?e<t?r:e-l:e>t?r:e-2*l)},m=function(e,t,r,n,o,l){var s=t+n+2*o;return e>=o&&(s+=o+1),J(s,l)},d=l(r.scrollTop,o.top),h=l(r.scrollLeft,o.left),g=0,v=p,w=!1;if(a){var b=U.current.top<=d,S=U.current.left<=h,j={rows:s(d,n[0]),cols:s(h,n[1])},I={rows:c(j.rows,u.rows,p.rows,y.rows,O[0],b),cols:c(j.cols,u.cols,p.cols,y.cols,O[1],S)};g={rows:f(j.rows,I.rows,u.rows,0,0,O[0],b),cols:f(j.cols,I.cols,u.cols,0,0,O[1],S)},v={rows:m(j.rows,g.rows,0,y.rows,O[0]),cols:m(j.cols,g.cols,0,y.cols,O[1],!0)},w=g.rows!==u.rows&&v.rows!==p.rows||g.cols!==u.cols&&v.cols!==p.cols,U.current={top:d,left:h}}else{var T=i?h:d,z=U.current<=T,E=s(T,n);v=m(E,g=f(E,c(E,u,p,y,O,z),u,0,0,O,z),0,y,O),w=g!==u&&v!==p,U.current=T}return{first:g,last:v,isRangeChanged:w}},$=function(t){var r=Y(t),n=r.first,o=r.last;if(r.isRangeChanged){var l={first:n,last:o};K(l),f(n),v(o),e.onScrollIndexChange&&e.onScrollIndexChange(l),e.lazy&&e.onLazyLoad&&e.onLazyLoad(l)}},q=function(t){var r=(e.items||[]).length,n=a?u.rows+t:u+t;return{index:n,count:r,first:0===n,last:n===r-1,even:n%2==0,odd:n%2!=0,props:e}},G=function(t,r){var n=x.length;return h({index:t,count:n,first:0===t,last:t===n-1,even:t%2==0,odd:t%2!=0,props:e},r)},Q=function(){var t=e.items;return t&&!T?a?t.slice(u.rows,p.rows).map((function(t){return e.columns?t:t.slice(u.cols,p.cols)})):i&&e.columns?t:t.slice(u,p):[]},Z=function(){var t,r,n,o,l;F(),t=W(),r=t.numItemsInViewport,n=t.numToleratedItems,o=function(e,t,r,n){return J(e+t+(e<r?2:3)*r,n)},l=a?{rows:o(u.rows,r.rows,n[0]),cols:o(u.cols,r.cols,n[1],!0)}:o(u,r,n),b(r),j(n),v(l),e.showLoader&&R(a?Array.from({length:r.rows}).map((function(){return Array.from({length:r.cols})})):Array.from({length:r})),e.lazy&&e.onLazyLoad&&e.onLazyLoad({first:u,last:l}),B()};r.useMountEffect((function(){Z()})),r.useUpdateEffect((function(){Z()}),[e.itemSize,e.scrollHeight]),r.useUpdateEffect((function(){A&&A.length===(e.items||[]).length||Z(),e.lazy&&C!==e.loading&&e.loading!==T&&z(e.loading)})),r.useUpdateEffect((function(){U.current=a?{top:0,left:0}:0}),[e.orientation]),l.useImperativeHandle(t,(function(){return{scrollTo:H,scrollToIndex:k,scrollInView:V,getRenderedRange:_}}));var ee=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=G(t,r),s=n.ObjectUtils.getJSXElement(e.loadingTemplate,o);return l.createElement(l.Fragment,{key:t},s)},te=function(t,r){var o=q(r),s=n.ObjectUtils.getJSXElement(e.itemTemplate,t,o);return l.createElement(l.Fragment,{key:o.index},s)};if(e.disabled){var re=n.ObjectUtils.getJSXElement(e.contentTemplate,{items:e.items,rows:e.items,columns:e.columns});return l.createElement(l.Fragment,null,e.children,re)}var ne=n.ObjectUtils.findDiffKeys(e,g.defaultProps),oe=n.classNames("p-virtualscroller",{"p-both-scroll":a,"p-horizontal-scroll":i},e.className),le=function(){if(!e.loaderDisabled&&e.showLoader&&T){var t=n.classNames("p-virtualscroller-loader",{"p-component-overlay":!e.loadingTemplate}),r=l.createElement("i",{className:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"});return e.loadingTemplate&&(r=x.map((function(e,t){return ee(t,a&&{numCols:y.cols})}))),l.createElement("div",{className:t},r)}return null}(),se=function(){var t=Q().map(te),r=n.classNames("p-virtualscroller-content",{"p-virtualscroller-loading":T}),s=l.createElement("div",{ref:P,className:r},t);if(e.contentTemplate){var c={className:r,contentRef:function(e){return P.current=n.ObjectUtils.getRefElement(e)},spacerRef:function(e){return M.current=n.ObjectUtils.getRefElement(e)},stickyRef:function(e){return N.current=n.ObjectUtils.getRefElement(e)},items:Q,getItemOptions:function(e){return q(e)},children:t,element:s,props:e,loading:T,getLoaderOptions:function(e,t){return G(e,t)},loadingTemplate:e.loadingTemplate,itemSize:e.itemSize,rows:T?e.loaderDisabled?x:[]:Q(),columns:e.columns&&(a||i)?T&&e.loaderDisabled?a?x[0]:x:e.columns.slice(a?u.cols:u,a?p.cols:p):e.columns,vertical:o,horizontal:i,both:a};return n.ObjectUtils.getJSXElement(e.contentTemplate,c)}return s}(),ie=e.showSpacer?l.createElement("div",{ref:M,className:"p-virtualscroller-spacer"}):null;return l.createElement("div",s({ref:L,className:oe,tabIndex:0,style:e.style},ne,{onScroll:function(t){e.onScroll&&e.onScroll(t),e.delay?(D.current&&clearTimeout(D.current),!T&&e.showLoader&&Y(t).isRangeChanged&&z(!0),D.current=setTimeout((function(){$(t),T&&e.showLoader&&!e.lazy&&z(!1)}),e.delay)):$(t)}}),se,ie,le)})));return g.displayName="VirtualScroller",g.defaultProps={__TYPE:"VirtualScroller",id:null,style:null,className:null,items:null,itemSize:0,scrollHeight:null,scrollWidth:null,orientation:"vertical",numToleratedItems:null,delay:0,lazy:!1,disabled:!1,loaderDisabled:!1,columns:null,loading:!1,showSpacer:!0,showLoader:!1,loadingTemplate:null,itemTemplate:null,contentTemplate:null,onScroll:null,onScrollIndexChange:null,onLazyLoad:null},e.VirtualScroller=g,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.hooks,primereact.utils);
1
+ this.primereact=this.primereact||{},this.primereact.virtualscroller=function(e,t,r,n){"use strict";function o(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var l=o(t);function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},i.apply(this,arguments)}function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e){if(Array.isArray(e))return e}function a(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,l=[],i=!0,s=!1;try{for(r=r.call(e);!(i=(n=r.next()).done)&&(l.push(n.value),!t||l.length!==t);i=!0);}catch(e){s=!0,o=e}finally{try{i||null==r.return||r.return()}finally{if(s)throw o}}return l}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function f(e,t){if(e){if("string"==typeof e)return u(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?u(e,t):void 0}}function m(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function d(e,t){return c(e)||a(e,t)||f(e,t)||m()}function p(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function h(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?p(Object(r),!0).forEach((function(t){s(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):p(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var g=l.memo(l.forwardRef((function(e,t){var o="vertical"===e.orientation,s="horizontal"===e.orientation,c="both"===e.orientation,a=d(l.useState(c?{rows:0,cols:0}:0),2),u=a[0],f=a[1],m=d(l.useState(c?{rows:0,cols:0}:0),2),p=m[0],v=m[1],w=d(l.useState(c?{rows:0,cols:0}:0),2),y=w[0],S=w[1],b=d(l.useState(e.numToleratedItems),2),z=b[0],O=b[1],T=d(l.useState(e.loading||!1),2),I=T[0],j=T[1],E=d(l.useState([]),2),x=E[0],R=E[1],L=l.useRef(null),P=l.useRef(null),D=l.useRef(null),H=l.useRef(null),U=l.useRef(c?{top:0,left:0}:0),M=l.useRef(null),N=l.useRef(null),W=l.useRef(null),A=l.useRef(null),C=r.usePrevious(e.items),k=r.usePrevious(e.loading),V=d(r.useResizeListener({listener:function(e){return ne(e)}}),1)[0],_=d(r.useEventListener({target:"window",type:"orientationchange",listener:function(e){return ne(e)}}),1)[0],J=function(){return L},X=function(e){U.current=c?{top:0,left:0}:0,L.current&&L.current.scrollTo(e)},F=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"auto",n=Y(),o=n.numToleratedItems,l=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0;return e<=t?0:e},i=function(e,t){return e*t},a=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return X({left:e,top:t,behavior:r})};if(c){var f={rows:l(t[0],o[0]),cols:l(t[1],o[1])};f.rows===u.rows&&f.cols===u.cols||a(i(f.cols,e.itemSize[1]),i(f.rows,e.itemSize[0]))}else{var m=l(t,o);m!==u&&(s?a(i(m,e.itemSize),0):a(0,i(m,e.itemSize)))}},B=function(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"auto";if(r){var o=K(),l=o.first,i=o.viewport,a=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return X({left:e,top:t,behavior:n})},u="to-start"===r,f="to-end"===r;if(u){if(c)i.first.rows-l.rows>t[0]?a(i.first.cols*e.itemSize[1],(i.first.rows-1)*e.itemSize[0]):i.first.cols-l.cols>t[1]&&a((i.first.cols-1)*e.itemSize[1],i.first.rows*e.itemSize[0]);else if(i.first-l>t){var m=(i.first-1)*e.itemSize;s?a(m,0):a(0,m)}}else if(f)if(c)i.last.rows-l.rows<=t[0]+1?a(i.first.cols*e.itemSize[1],(i.first.rows+1)*e.itemSize[0]):i.last.cols-l.cols<=t[1]+1&&a((i.first.cols+1)*e.itemSize[1],i.first.rows*e.itemSize[0]);else if(i.last-l<=t+1){var d=(i.first+1)*e.itemSize;s?a(d,0):a(0,d)}}else F(t,n)},K=function(){var t=function(e,t){return Math.floor(e/(t||e))},r=u,n=0;if(L.current){var o=L.current,l=o.scrollTop,i=o.scrollLeft;if(c)n={rows:(r={rows:t(l,e.itemSize[0]),cols:t(i,e.itemSize[1])}).rows+y.rows,cols:r.cols+y.cols};else n=(r=t(s?i:l,e.itemSize))+y}return{first:u,last:p,viewport:{first:r,last:n}}},Y=function(){var t=G(),r=L.current?L.current.offsetWidth-t.left:0,n=L.current?L.current.offsetHeight-t.top:0,o=function(e,t){return Math.ceil(e/(t||e))},l=function(e){return Math.ceil(e/2)},i=c?{rows:o(n,e.itemSize[0]),cols:o(r,e.itemSize[1])}:o(s?r:n,e.itemSize);return{numItemsInViewport:i,numToleratedItems:z||(c?[l(i.rows),l(i.cols)]:l(i))}},$=function(t){e.autoSize&&!t&&Promise.resolve().then((function(){if(P.current){P.current.style.minHeight=P.current.style.minWidth="auto";var e=P.current,t=e.offsetWidth,r=e.offsetHeight;(c||s)&&(L.current.style.width=(t<W.current?t:W.current)+"px"),(c||o)&&(L.current.style.height=(r<A.current?r:A.current)+"px"),P.current.style.minHeight=P.current.style.minWidth=""}}))},q=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1?arguments[1]:void 0;return e.items?Math.min(r?(e.columns||e.items[0]).length:e.items.length,t):0},G=function(){if(P.current){var e=getComputedStyle(P.current),t=parseInt(e.paddingLeft,10)+Math.max(parseInt(e.left,10),0),r=parseInt(e.paddingRight,10)+Math.max(parseInt(e.right,10),0),n=parseInt(e.paddingTop,10)+Math.max(parseInt(e.top,10),0),o=parseInt(e.paddingBottom,10)+Math.max(parseInt(e.bottom,10),0);return{left:t,right:r,top:n,bottom:o,x:t+r,y:n+o}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},Q=function(){if(L.current){var t=L.current.parentElement,r=e.scrollWidth||"".concat(L.current.offsetWidth||t.offsetWidth,"px"),n=e.scrollHeight||"".concat(L.current.offsetHeight||t.offsetHeight,"px"),o=function(e,t){return L.current.style[e]=t};c||s?(o("height",n),o("width",r)):o("height",n)}},Z=function(){var t=e.items;if(D.current&&t){var r=G(),n=function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return D.current.style[e]=(t||[]).length*r+n+"px"};c?(n("height",t,e.itemSize[0],r.y),n("width",e.columns||t[1],e.itemSize[1],r.x)):s?n("width",e.columns||t,e.itemSize,r.x):n("height",t,e.itemSize,r.y)}},ee=function(t){if(P.current){var r=t?t.first:u,n=function(e,t){return e*t},o=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;H.current&&(H.current.style.top="-".concat(t,"px")),P.current.style.transform="translate3d(".concat(e,"px, ").concat(t,"px, 0)")};if(c)o(n(r.cols,e.itemSize[1]),n(r.rows,e.itemSize[0]));else{var l=n(r,e.itemSize);s?o(l,0):o(0,l)}}},te=function(t){var r=t.target,n=G(),o=function(e,t){return e?e>t?e-t:e:0},l=function(e,t){return Math.floor(e/(t||e))},i=function(e,t,r,n,o,l){return e<=o?o:l?r-n-o:t+o-1},a=function(e,t,r,n,o,l,i){return e<=l?0:Math.max(0,i?e<t?r:e-l:e>t?r:e-2*l)},f=function(e,t,r,n,o,l){var i=t+n+2*o;return e>=o&&(i+=o+1),q(i,l)},m=o(r.scrollTop,n.top),d=o(r.scrollLeft,n.left),h=c?{rows:0,cols:0}:0,g=p,v=!1,w=U.current;if(c){var S=U.current.top<=m,b=U.current.left<=d,O={rows:l(m,e.itemSize[0]),cols:l(d,e.itemSize[1])},T={rows:i(O.rows,u.rows,p.rows,y.rows,z[0],S),cols:i(O.cols,u.cols,p.cols,y.cols,z[1],b)};h={rows:a(O.rows,T.rows,u.rows,0,0,z[0],S),cols:a(O.cols,T.cols,u.cols,0,0,z[1],b)},g={rows:f(O.rows,h.rows,0,y.rows,z[0]),cols:f(O.cols,h.cols,0,y.cols,z[1],!0)},v=h.rows!==u.rows||g.rows!==p.rows||h.cols!==u.cols||g.cols!==p.cols,w={top:m,left:d}}else{var I=s?d:m,j=U.current<=I,E=l(I,e.itemSize);g=f(E,h=a(E,i(E,u,p,y,z,j),u,0,0,z,j),0,y,z),v=h!==u||g!==p,w=I}return{first:h,last:g,isRangeChanged:v,scrollPos:w}},re=function(t){var r=te(t),n=r.first,o=r.last,l=r.scrollPos;if(r.isRangeChanged){var i={first:n,last:o};ee(i),f(n),v(o),U.current=l,e.onScrollIndexChange&&e.onScrollIndexChange(i),e.lazy&&e.onLazyLoad&&e.onLazyLoad(i)}},ne=function(){N.current&&clearTimeout(N.current),N.current=setTimeout((function(){if(L.current){var t=[n.DomHandler.getWidth(L.current),n.DomHandler.getHeight(L.current)],r=t[0],l=t[1],i=r!==W.current,a=l!==A.current;(c?i||a:s?i:!!o&&a)&&(O(e.numToleratedItems),W.current=r,A.current=l)}}),e.resizeDelay)},oe=function(t){var r=(e.items||[]).length,n=c?u.rows+t:u+t;return{index:n,count:r,first:0===n,last:n===r-1,even:n%2==0,odd:n%2!=0,props:e}},le=function(t,r){var n=x.length;return h({index:t,count:n,first:0===t,last:t===n-1,even:t%2==0,odd:t%2!=0,props:e},r)},ie=function(){var t=e.items;return t&&!I?c?t.slice(u.rows,p.rows).map((function(t){return e.columns?t:t.slice(u.cols,p.cols)})):s&&e.columns?t:t.slice(u,p):[]},se=function(){var t,r,n,o,l;e.disabled||(Q(),t=Y(),r=t.numItemsInViewport,n=t.numToleratedItems,o=function(e,t,r,n){return q(e+t+(e<r?2:3)*r,n)},l=c?{rows:o(u.rows,r.rows,n[0]),cols:o(u.cols,r.cols,n[1],!0)}:o(u,r,n),S(r),O(n),v(l),e.showLoader&&R(c?Array.from({length:r.rows}).map((function(){return Array.from({length:r.cols})})):Array.from({length:r})),e.lazy&&e.onLazyLoad&&e.onLazyLoad({first:u,last:l}),Z())};r.useMountEffect((function(){e.disabled||(se(),V(),_(),W.current=n.DomHandler.getWidth(L.current),A.current=n.DomHandler.getHeight(L.current))})),r.useUpdateEffect((function(){se()}),[e.itemSize,e.scrollHeight]),r.useUpdateEffect((function(){e.numToleratedItems!==z&&O(e.numToleratedItems)}),[e.numToleratedItems]),r.useUpdateEffect((function(){e.numToleratedItems===z&&se()}),[z]),r.useUpdateEffect((function(){C&&C.length===(e.items||[]).length||se();var t=I;e.lazy&&k!==e.loading&&e.loading!==I&&(j(e.loading),t=e.loading),$(t)})),r.useUpdateEffect((function(){U.current=c?{top:0,left:0}:0}),[e.orientation]),l.useImperativeHandle(t,(function(){return{getElementRef:J,scrollTo:X,scrollToIndex:F,scrollInView:B,getRenderedRange:K}}));var ce=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=le(t,r),i=n.ObjectUtils.getJSXElement(e.loadingTemplate,o);return l.createElement(l.Fragment,{key:t},i)},ae=function(t,r){var o=oe(r),i=n.ObjectUtils.getJSXElement(e.itemTemplate,t,o);return l.createElement(l.Fragment,{key:o.index},i)};if(e.disabled){var ue=n.ObjectUtils.getJSXElement(e.contentTemplate,{items:e.items,rows:e.items,columns:e.columns});return l.createElement(l.Fragment,null,e.children,ue)}var fe=n.ObjectUtils.findDiffKeys(e,g.defaultProps),me=n.classNames("p-virtualscroller",{"p-both-scroll":c,"p-horizontal-scroll":s},e.className),de=function(){if(!e.loaderDisabled&&e.showLoader&&I){var t=n.classNames("p-virtualscroller-loader",{"p-component-overlay":!e.loadingTemplate}),r=l.createElement("i",{className:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"});return e.loadingTemplate?r=x.map((function(e,t){return ce(t,c&&{numCols:y.cols})})):e.loaderIconTemplate&&(r=n.ObjectUtils.getJSXElement(e.loaderIconTemplate,{className:"p-virtualscroller-loading-icon",element:r,props:e})),l.createElement("div",{className:t},r)}return null}(),pe=function(){var t=ie().map(ae),r=n.classNames("p-virtualscroller-content",{"p-virtualscroller-loading":I}),i=l.createElement("div",{ref:P,className:r},t);if(e.contentTemplate){var a={className:r,contentRef:function(e){return P.current=n.ObjectUtils.getRefElement(e)},spacerRef:function(e){return D.current=n.ObjectUtils.getRefElement(e)},stickyRef:function(e){return H.current=n.ObjectUtils.getRefElement(e)},items:ie,getItemOptions:function(e){return oe(e)},children:t,element:i,props:e,loading:I,getLoaderOptions:function(e,t){return le(e,t)},loadingTemplate:e.loadingTemplate,itemSize:e.itemSize,rows:I?e.loaderDisabled?x:[]:ie(),columns:e.columns&&c||s?I&&e.loaderDisabled?c?x[0]:x:e.columns.slice(c?u.cols:u,c?p.cols:p):e.columns,vertical:o,horizontal:s,both:c};return n.ObjectUtils.getJSXElement(e.contentTemplate,a)}return i}(),he=e.showSpacer?l.createElement("div",{ref:D,className:"p-virtualscroller-spacer"}):null;return l.createElement("div",i({ref:L,className:me,tabIndex:0,style:e.style},fe,{onScroll:function(t){e.onScroll&&e.onScroll(t),e.delay?(M.current&&clearTimeout(M.current),!I&&e.showLoader&&te(t).isRangeChanged&&j(!0),M.current=setTimeout((function(){re(t),!I||!e.showLoader||e.lazy&&void 0!==e.loading||j(!1)}),e.delay)):re(t)}}),pe,he,de)})));return g.displayName="VirtualScroller",g.defaultProps={__TYPE:"VirtualScroller",id:null,style:null,className:null,items:null,itemSize:0,scrollHeight:null,scrollWidth:null,orientation:"vertical",numToleratedItems:null,delay:0,resizeDelay:10,lazy:!1,disabled:!1,loaderDisabled:!1,columns:null,loading:void 0,autoSize:!1,showSpacer:!0,showLoader:!1,loadingTemplate:null,loaderIconTemplate:null,itemTemplate:null,contentTemplate:null,onScroll:null,onScrollIndexChange:null,onLazyLoad:null},e.VirtualScroller=g,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.hooks,primereact.utils);