primereact 9.1.1 → 9.2.1

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 (210) hide show
  1. package/api/api.cjs.js +16 -0
  2. package/api/api.cjs.min.js +1 -1
  3. package/api/api.d.ts +2 -2
  4. package/api/api.esm.js +16 -0
  5. package/api/api.esm.min.js +1 -1
  6. package/api/api.js +16 -0
  7. package/api/api.min.js +1 -1
  8. package/autocomplete/autocomplete.cjs.js +1 -0
  9. package/autocomplete/autocomplete.cjs.min.js +1 -1
  10. package/autocomplete/autocomplete.esm.js +1 -0
  11. package/autocomplete/autocomplete.esm.min.js +1 -1
  12. package/autocomplete/autocomplete.js +1 -0
  13. package/autocomplete/autocomplete.min.js +1 -1
  14. package/avatar/avatar.cjs.js +2 -2
  15. package/avatar/avatar.cjs.min.js +1 -1
  16. package/avatar/avatar.esm.js +2 -2
  17. package/avatar/avatar.esm.min.js +1 -1
  18. package/avatar/avatar.js +2 -2
  19. package/avatar/avatar.min.js +1 -1
  20. package/button/button.cjs.js +6 -1
  21. package/button/button.cjs.min.js +1 -1
  22. package/button/button.d.ts +2 -2
  23. package/button/button.esm.js +6 -1
  24. package/button/button.esm.min.js +1 -1
  25. package/button/button.js +6 -1
  26. package/button/button.min.js +1 -1
  27. package/calendar/calendar.cjs.js +2 -2
  28. package/calendar/calendar.cjs.min.js +1 -1
  29. package/calendar/calendar.esm.js +2 -2
  30. package/calendar/calendar.esm.min.js +1 -1
  31. package/calendar/calendar.js +2 -2
  32. package/calendar/calendar.min.js +1 -1
  33. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  34. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  35. package/confirmdialog/confirmdialog.min.js +1 -1
  36. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  37. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  38. package/confirmpopup/confirmpopup.min.js +1 -1
  39. package/contextmenu/contextmenu.cjs.js +61 -18
  40. package/contextmenu/contextmenu.cjs.min.js +1 -1
  41. package/contextmenu/contextmenu.d.ts +9 -0
  42. package/contextmenu/contextmenu.esm.js +63 -20
  43. package/contextmenu/contextmenu.esm.min.js +1 -1
  44. package/contextmenu/contextmenu.js +61 -18
  45. package/contextmenu/contextmenu.min.js +1 -1
  46. package/core/core.js +254 -129
  47. package/core/core.min.js +9 -9
  48. package/datatable/datatable.cjs.js +90 -82
  49. package/datatable/datatable.cjs.min.js +1 -1
  50. package/datatable/datatable.d.ts +2 -11
  51. package/datatable/datatable.esm.js +91 -83
  52. package/datatable/datatable.esm.min.js +1 -1
  53. package/datatable/datatable.js +90 -82
  54. package/datatable/datatable.min.css +1 -1
  55. package/datatable/datatable.min.js +1 -1
  56. package/dataview/dataview.d.ts +1 -1
  57. package/dropdown/dropdown.cjs.js +1 -0
  58. package/dropdown/dropdown.cjs.min.js +1 -1
  59. package/dropdown/dropdown.esm.js +1 -0
  60. package/dropdown/dropdown.esm.min.js +1 -1
  61. package/dropdown/dropdown.js +1 -0
  62. package/dropdown/dropdown.min.js +1 -1
  63. package/hooks/hooks.cjs.js +34 -2
  64. package/hooks/hooks.cjs.min.js +1 -1
  65. package/hooks/hooks.d.ts +17 -3
  66. package/hooks/hooks.esm.js +34 -3
  67. package/hooks/hooks.esm.min.js +1 -1
  68. package/hooks/hooks.js +34 -2
  69. package/hooks/hooks.min.js +1 -1
  70. package/inputnumber/inputnumber.cjs.min.js +1 -1
  71. package/inputnumber/inputnumber.esm.min.js +1 -1
  72. package/inputnumber/inputnumber.min.js +1 -1
  73. package/inputtext/inputtext.min.css +1 -1
  74. package/listbox/listbox.cjs.js +5 -4
  75. package/listbox/listbox.cjs.min.js +1 -1
  76. package/listbox/listbox.esm.js +5 -4
  77. package/listbox/listbox.esm.min.js +1 -1
  78. package/listbox/listbox.js +5 -4
  79. package/listbox/listbox.min.js +1 -1
  80. package/megamenu/megamenu.cjs.js +94 -6
  81. package/megamenu/megamenu.cjs.min.js +1 -1
  82. package/megamenu/megamenu.d.ts +9 -0
  83. package/megamenu/megamenu.esm.js +96 -8
  84. package/megamenu/megamenu.esm.min.js +1 -1
  85. package/megamenu/megamenu.js +94 -6
  86. package/megamenu/megamenu.min.css +1 -1
  87. package/megamenu/megamenu.min.js +1 -1
  88. package/multiselect/multiselect.cjs.js +3 -1
  89. package/multiselect/multiselect.cjs.min.js +1 -1
  90. package/multiselect/multiselect.d.ts +27 -1
  91. package/multiselect/multiselect.esm.js +3 -1
  92. package/multiselect/multiselect.esm.min.js +1 -1
  93. package/multiselect/multiselect.js +3 -1
  94. package/multiselect/multiselect.min.js +1 -1
  95. package/package.json +1 -1
  96. package/paginator/paginator.cjs.js +0 -8
  97. package/paginator/paginator.cjs.min.js +1 -1
  98. package/paginator/paginator.esm.js +0 -8
  99. package/paginator/paginator.esm.min.js +1 -1
  100. package/paginator/paginator.js +0 -8
  101. package/paginator/paginator.min.js +1 -1
  102. package/picklist/picklist.cjs.min.js +1 -1
  103. package/picklist/picklist.esm.min.js +1 -1
  104. package/picklist/picklist.min.js +1 -1
  105. package/primereact.all.cjs.js +609 -265
  106. package/primereact.all.cjs.min.js +1 -1
  107. package/primereact.all.esm.js +609 -266
  108. package/primereact.all.esm.min.js +1 -1
  109. package/primereact.all.js +609 -265
  110. package/primereact.all.min.js +1 -1
  111. package/resources/primereact.css +638 -688
  112. package/resources/primereact.min.css +1 -1
  113. package/resources/themes/arya-blue/theme.css +134 -6
  114. package/resources/themes/arya-green/theme.css +134 -6
  115. package/resources/themes/arya-orange/theme.css +134 -6
  116. package/resources/themes/arya-purple/theme.css +134 -6
  117. package/resources/themes/bootstrap4-dark-blue/theme.css +137 -8
  118. package/resources/themes/bootstrap4-dark-purple/theme.css +137 -8
  119. package/resources/themes/bootstrap4-light-blue/theme.css +137 -8
  120. package/resources/themes/bootstrap4-light-purple/theme.css +137 -8
  121. package/resources/themes/fluent-light/theme.css +133 -4
  122. package/resources/themes/lara-dark-blue/theme.css +135 -6
  123. package/resources/themes/lara-dark-indigo/theme.css +135 -6
  124. package/resources/themes/lara-dark-purple/theme.css +135 -6
  125. package/resources/themes/lara-dark-teal/theme.css +135 -6
  126. package/resources/themes/lara-light-blue/theme.css +137 -8
  127. package/resources/themes/lara-light-indigo/theme.css +137 -8
  128. package/resources/themes/lara-light-purple/theme.css +137 -8
  129. package/resources/themes/lara-light-teal/theme.css +137 -8
  130. package/resources/themes/luna-amber/theme.css +137 -8
  131. package/resources/themes/luna-blue/theme.css +137 -8
  132. package/resources/themes/luna-green/theme.css +137 -8
  133. package/resources/themes/luna-pink/theme.css +137 -8
  134. package/resources/themes/md-dark-deeppurple/theme.css +137 -8
  135. package/resources/themes/md-dark-indigo/theme.css +137 -8
  136. package/resources/themes/md-light-deeppurple/theme.css +137 -8
  137. package/resources/themes/md-light-indigo/theme.css +137 -8
  138. package/resources/themes/mdc-dark-deeppurple/theme.css +137 -8
  139. package/resources/themes/mdc-dark-indigo/theme.css +137 -8
  140. package/resources/themes/mdc-light-deeppurple/theme.css +137 -8
  141. package/resources/themes/mdc-light-indigo/theme.css +137 -8
  142. package/resources/themes/mira/theme.css +137 -8
  143. package/resources/themes/nano/theme.css +137 -8
  144. package/resources/themes/nova/theme.css +137 -8
  145. package/resources/themes/nova-accent/theme.css +137 -8
  146. package/resources/themes/nova-alt/theme.css +137 -8
  147. package/resources/themes/rhea/theme.css +137 -8
  148. package/resources/themes/saga-blue/theme.css +135 -6
  149. package/resources/themes/saga-green/theme.css +135 -6
  150. package/resources/themes/saga-orange/theme.css +135 -6
  151. package/resources/themes/saga-purple/theme.css +135 -6
  152. package/resources/themes/soho-dark/theme.css +137 -8
  153. package/resources/themes/soho-light/theme.css +137 -8
  154. package/resources/themes/tailwind-light/theme.css +137 -8
  155. package/resources/themes/vela-blue/theme.css +135 -6
  156. package/resources/themes/vela-green/theme.css +135 -6
  157. package/resources/themes/vela-orange/theme.css +135 -6
  158. package/resources/themes/vela-purple/theme.css +135 -6
  159. package/resources/themes/viva-dark/theme.css +137 -8
  160. package/resources/themes/viva-light/theme.css +137 -8
  161. package/splitbutton/splitbutton.cjs.js +57 -3
  162. package/splitbutton/splitbutton.cjs.min.js +1 -1
  163. package/splitbutton/splitbutton.d.ts +28 -0
  164. package/splitbutton/splitbutton.esm.js +57 -3
  165. package/splitbutton/splitbutton.esm.min.js +1 -1
  166. package/splitbutton/splitbutton.js +57 -3
  167. package/splitbutton/splitbutton.min.js +1 -1
  168. package/tieredmenu/tieredmenu.cjs.js +69 -9
  169. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  170. package/tieredmenu/tieredmenu.d.ts +9 -0
  171. package/tieredmenu/tieredmenu.esm.js +71 -11
  172. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  173. package/tieredmenu/tieredmenu.js +69 -9
  174. package/tieredmenu/tieredmenu.min.js +1 -1
  175. package/toast/toast.cjs.js +16 -0
  176. package/toast/toast.cjs.min.js +1 -1
  177. package/toast/toast.esm.js +16 -0
  178. package/toast/toast.esm.min.js +1 -1
  179. package/toast/toast.js +16 -0
  180. package/toast/toast.min.css +1 -1
  181. package/toast/toast.min.js +1 -1
  182. package/tooltip/tooltip.cjs.js +5 -4
  183. package/tooltip/tooltip.cjs.min.js +1 -1
  184. package/tooltip/tooltip.esm.js +5 -4
  185. package/tooltip/tooltip.esm.min.js +1 -1
  186. package/tooltip/tooltip.js +5 -4
  187. package/tooltip/tooltip.min.js +1 -1
  188. package/treetable/treetable.cjs.js +12 -9
  189. package/treetable/treetable.cjs.min.js +1 -1
  190. package/treetable/treetable.d.ts +0 -5
  191. package/treetable/treetable.esm.js +12 -9
  192. package/treetable/treetable.esm.min.js +1 -1
  193. package/treetable/treetable.js +12 -9
  194. package/treetable/treetable.min.css +1 -1
  195. package/treetable/treetable.min.js +1 -1
  196. package/utils/utils.cjs.js +15 -10
  197. package/utils/utils.cjs.min.js +1 -1
  198. package/utils/utils.esm.js +15 -10
  199. package/utils/utils.esm.min.js +1 -1
  200. package/utils/utils.js +15 -10
  201. package/utils/utils.min.js +1 -1
  202. package/virtualscroller/virtualscroller.cjs.js +177 -104
  203. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  204. package/virtualscroller/virtualscroller.d.ts +20 -0
  205. package/virtualscroller/virtualscroller.esm.js +177 -104
  206. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  207. package/virtualscroller/virtualscroller.js +177 -104
  208. package/virtualscroller/virtualscroller.min.css +1 -1
  209. package/virtualscroller/virtualscroller.min.js +1 -1
  210. package/web-types.json +2 -2
@@ -139,14 +139,18 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
139
139
  id: null,
140
140
  style: null,
141
141
  className: null,
142
+ tabIndex: 0,
142
143
  items: null,
143
144
  itemSize: 0,
144
145
  scrollHeight: null,
145
146
  scrollWidth: null,
146
147
  orientation: 'vertical',
148
+ step: 0,
147
149
  numToleratedItems: null,
148
150
  delay: 0,
149
151
  resizeDelay: 10,
152
+ appendOnly: false,
153
+ inline: false,
150
154
  lazy: false,
151
155
  disabled: false,
152
156
  loaderDisabled: false,
@@ -176,6 +180,7 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
176
180
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
177
181
  var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.forwardRef(function (inProps, ref) {
178
182
  var props = VirtualScrollerBase.getProps(inProps);
183
+ var prevProps = hooks.usePrevious(inProps) || {};
179
184
  var vertical = props.orientation === 'vertical';
180
185
  var horizontal = props.orientation === 'horizontal';
181
186
  var both = props.orientation === 'both';
@@ -193,25 +198,29 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
193
198
  _React$useState4 = _slicedToArray(_React$useState3, 2),
194
199
  lastState = _React$useState4[0],
195
200
  setLastState = _React$useState4[1];
196
- var _React$useState5 = React__namespace.useState(both ? {
201
+ var _React$useState5 = React__namespace.useState(0),
202
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
203
+ pageState = _React$useState6[0],
204
+ setPageState = _React$useState6[1];
205
+ var _React$useState7 = React__namespace.useState(both ? {
197
206
  rows: 0,
198
207
  cols: 0
199
208
  } : 0),
200
- _React$useState6 = _slicedToArray(_React$useState5, 2),
201
- numItemsInViewportState = _React$useState6[0],
202
- setNumItemsInViewportState = _React$useState6[1];
203
- var _React$useState7 = React__namespace.useState(props.numToleratedItems),
204
209
  _React$useState8 = _slicedToArray(_React$useState7, 2),
205
- numToleratedItemsState = _React$useState8[0],
206
- setNumToleratedItemsState = _React$useState8[1];
207
- var _React$useState9 = React__namespace.useState(props.loading || false),
210
+ numItemsInViewportState = _React$useState8[0],
211
+ setNumItemsInViewportState = _React$useState8[1];
212
+ var _React$useState9 = React__namespace.useState(props.numToleratedItems),
208
213
  _React$useState10 = _slicedToArray(_React$useState9, 2),
209
- loadingState = _React$useState10[0],
210
- setLoadingState = _React$useState10[1];
211
- var _React$useState11 = React__namespace.useState([]),
214
+ numToleratedItemsState = _React$useState10[0],
215
+ setNumToleratedItemsState = _React$useState10[1];
216
+ var _React$useState11 = React__namespace.useState(props.loading || false),
212
217
  _React$useState12 = _slicedToArray(_React$useState11, 2),
213
- loaderArrState = _React$useState12[0],
214
- setLoaderArrState = _React$useState12[1];
218
+ loadingState = _React$useState12[0],
219
+ setLoadingState = _React$useState12[1];
220
+ var _React$useState13 = React__namespace.useState([]),
221
+ _React$useState14 = _slicedToArray(_React$useState13, 2),
222
+ loaderArrState = _React$useState14[0],
223
+ setLoaderArrState = _React$useState14[1];
215
224
  var elementRef = React__namespace.useRef(null);
216
225
  var _contentRef = React__namespace.useRef(null);
217
226
  var _spacerRef = React__namespace.useRef(null);
@@ -222,14 +231,19 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
222
231
  } : 0);
223
232
  var scrollTimeout = React__namespace.useRef(null);
224
233
  var resizeTimeout = React__namespace.useRef(null);
234
+ var contentStyle = React__namespace.useRef({});
235
+ var spacerStyle = React__namespace.useRef({});
225
236
  var defaultWidth = React__namespace.useRef(null);
226
237
  var defaultHeight = React__namespace.useRef(null);
227
- var prevItems = hooks.usePrevious(props.items);
228
- var prevLoading = hooks.usePrevious(props.loading);
238
+ var defaultContentWidth = React__namespace.useRef(null);
239
+ var defaultContentHeight = React__namespace.useRef(null);
240
+ var isItemRangeChanged = React__namespace.useRef(false);
241
+ var lazyLoadState = React__namespace.useRef(null);
229
242
  var _useResizeListener = hooks.useResizeListener({
230
243
  listener: function listener(event) {
231
244
  return onResize();
232
- }
245
+ },
246
+ when: !props.disabled
233
247
  }),
234
248
  _useResizeListener2 = _slicedToArray(_useResizeListener, 1),
235
249
  bindWindowResizeListener = _useResizeListener2[0];
@@ -238,13 +252,23 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
238
252
  type: 'orientationchange',
239
253
  listener: function listener(event) {
240
254
  return onResize();
241
- }
255
+ },
256
+ when: !props.disabled
242
257
  }),
243
258
  _useEventListener2 = _slicedToArray(_useEventListener, 1),
244
259
  bindOrientationChangeListener = _useEventListener2[0];
245
260
  var getElementRef = function getElementRef() {
246
261
  return elementRef;
247
262
  };
263
+ var getPageByFirst = function getPageByFirst(first) {
264
+ return Math.floor((first + numToleratedItemsState * 4) / (props.step || 1));
265
+ };
266
+ var setContentElement = function setContentElement(element) {
267
+ _contentRef.current = element || _contentRef.current || utils.DomHandler.findSingle(elementRef.current, '.p-virtualscroller-content');
268
+ };
269
+ var isPageChanged = function isPageChanged(first) {
270
+ return props.step ? pageState !== getPageByFirst(first) : true;
271
+ };
248
272
  var scrollTo = function scrollTo(options) {
249
273
  lastScrollPos.current = both ? {
250
274
  top: 0,
@@ -256,13 +280,14 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
256
280
  var behavior = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'auto';
257
281
  var _calculateNumItems = calculateNumItems(),
258
282
  numToleratedItems = _calculateNumItems.numToleratedItems;
283
+ var contentPos = getContentPosition();
259
284
  var calculateFirst = function calculateFirst() {
260
285
  var _index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
261
286
  var _numT = arguments.length > 1 ? arguments[1] : undefined;
262
287
  return _index <= _numT ? 0 : _index;
263
288
  };
264
- var calculateCoord = function calculateCoord(_first, _size) {
265
- return _first * _size;
289
+ var calculateCoord = function calculateCoord(_first, _size, _cpos) {
290
+ return _first * _size + _cpos;
266
291
  };
267
292
  var scrollToItem = function scrollToItem() {
268
293
  var left = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
@@ -273,20 +298,25 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
273
298
  behavior: behavior
274
299
  });
275
300
  };
301
+ var newFirst = both ? {
302
+ rows: 0,
303
+ cols: 0
304
+ } : 0;
305
+ var isRangeChanged = false;
276
306
  if (both) {
277
- var newFirst = {
307
+ newFirst = {
278
308
  rows: calculateFirst(index[0], numToleratedItems[0]),
279
309
  cols: calculateFirst(index[1], numToleratedItems[1])
280
310
  };
281
- if (newFirst.rows !== firstState.rows || newFirst.cols !== firstState.cols) {
282
- scrollToItem(calculateCoord(newFirst.cols, props.itemSize[1]), calculateCoord(newFirst.rows, props.itemSize[0]));
283
- }
311
+ scrollToItem(calculateCoord(newFirst.cols, props.itemSize[1], contentPos.left), calculateCoord(newFirst.rows, props.itemSize[0], contentPos.top));
312
+ isRangeChanged = firstState.rows !== newFirst.rows || firstState.cols !== newFirst.cols;
284
313
  } else {
285
- var _newFirst = calculateFirst(index, numToleratedItems);
286
- if (_newFirst !== firstState) {
287
- horizontal ? scrollToItem(calculateCoord(_newFirst, props.itemSize), 0) : scrollToItem(0, calculateCoord(_newFirst, props.itemSize));
288
- }
314
+ newFirst = calculateFirst(index, numToleratedItems);
315
+ horizontal ? scrollToItem(calculateCoord(newFirst, props.itemSize, contentPos.left), 0) : scrollToItem(0, calculateCoord(newFirst, props.itemSize, contentPos.top));
316
+ isRangeChanged = firstState !== newFirst;
289
317
  }
318
+ isItemRangeChanged.current = isRangeChanged;
319
+ setFirstState(newFirst);
290
320
  };
291
321
  var scrollInView = function scrollInView(index, to) {
292
322
  var behavior = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'auto';
@@ -403,7 +433,8 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
403
433
  var _calculateNumItems2 = calculateNumItems(),
404
434
  numItemsInViewport = _calculateNumItems2.numItemsInViewport,
405
435
  numToleratedItems = _calculateNumItems2.numToleratedItems;
406
- var calculateLast = function calculateLast(_first, _num, _numT, _isCols) {
436
+ var calculateLast = function calculateLast(_first, _num, _numT) {
437
+ var _isCols = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
407
438
  return getLast(_first + _num + (_first < _numT ? 2 : 3) * _numT, _isCols);
408
439
  };
409
440
  var last = both ? {
@@ -425,9 +456,15 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
425
456
  }));
426
457
  }
427
458
  if (props.lazy) {
428
- props.onLazyLoad && props.onLazyLoad({
429
- first: firstState,
430
- last: last
459
+ Promise.resolve().then(function () {
460
+ lazyLoadState.current = {
461
+ first: props.step ? both ? {
462
+ rows: 0,
463
+ cols: firstState.cols
464
+ } : 0 : firstState,
465
+ last: Math.min(props.step ? props.step : last, props.items.length)
466
+ };
467
+ props.onLazyLoad && props.onLazyLoad(lazyLoadState.current);
431
468
  });
432
469
  }
433
470
  };
@@ -436,12 +473,21 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
436
473
  Promise.resolve().then(function () {
437
474
  if (_contentRef.current) {
438
475
  _contentRef.current.style.minHeight = _contentRef.current.style.minWidth = 'auto';
439
- var _contentRef$current = _contentRef.current,
440
- offsetWidth = _contentRef$current.offsetWidth,
441
- offsetHeight = _contentRef$current.offsetHeight;
442
- (both || horizontal) && (elementRef.current.style.width = (offsetWidth < defaultWidth.current ? offsetWidth : defaultWidth.current) + 'px');
443
- (both || vertical) && (elementRef.current.style.height = (offsetHeight < defaultHeight.current ? offsetHeight : defaultHeight.current) + 'px');
476
+ _contentRef.current.style.position = 'relative';
477
+ elementRef.current.style.contain = 'none';
478
+
479
+ /*const [contentWidth, contentHeight] = [DomHandler.getWidth(contentRef.current), DomHandler.getHeight(contentRef.current)];
480
+ contentWidth !== defaultContentWidth.current && (elementRef.current.style.width = '');
481
+ contentHeight !== defaultContentHeight.current && (elementRef.current.style.height = '');*/
482
+
483
+ var _ref = [utils.DomHandler.getWidth(elementRef.current), utils.DomHandler.getHeight(elementRef.current)],
484
+ width = _ref[0],
485
+ height = _ref[1];
486
+ (both || horizontal) && (elementRef.current.style.width = (width < defaultWidth.current ? width : props.scrollWidth || defaultWidth.current) + 'px');
487
+ (both || vertical) && (elementRef.current.style.height = (height < defaultHeight.current ? height : props.scrollHeight || defaultHeight.current) + 'px');
444
488
  _contentRef.current.style.minHeight = _contentRef.current.style.minWidth = '';
489
+ _contentRef.current.style.position = '';
490
+ elementRef.current.style.contain = '';
445
491
  }
446
492
  });
447
493
  }
@@ -454,10 +500,10 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
454
500
  var getContentPosition = function getContentPosition() {
455
501
  if (_contentRef.current) {
456
502
  var style = getComputedStyle(_contentRef.current);
457
- var left = parseInt(style.paddingLeft, 10) + Math.max(parseInt(style.left, 10), 0);
458
- var right = parseInt(style.paddingRight, 10) + Math.max(parseInt(style.right, 10), 0);
459
- var top = parseInt(style.paddingTop, 10) + Math.max(parseInt(style.top, 10), 0);
460
- var bottom = parseInt(style.paddingBottom, 10) + Math.max(parseInt(style.bottom, 10), 0);
503
+ var left = parseFloat(style.paddingLeft) + Math.max(parseFloat(style.left) || 0, 0);
504
+ var right = parseFloat(style.paddingRight) + Math.max(parseFloat(style.right) || 0, 0);
505
+ var top = parseFloat(style.paddingTop) + Math.max(parseFloat(style.top) || 0, 0);
506
+ var bottom = parseFloat(style.paddingBottom) + Math.max(parseFloat(style.bottom) || 0, 0);
461
507
  return {
462
508
  left: left,
463
509
  right: right,
@@ -494,11 +540,11 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
494
540
  };
495
541
  var setSpacerSize = function setSpacerSize() {
496
542
  var items = props.items;
497
- if (_spacerRef.current && items) {
543
+ if (items) {
498
544
  var contentPos = getContentPosition();
499
545
  var setProp = function setProp(_name, _value, _size) {
500
546
  var _cpos = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
501
- return _spacerRef.current.style[_name] = (_value || []).length * _size + _cpos + 'px';
547
+ return spacerStyle.current = _objectSpread(_objectSpread({}, spacerStyle.current), _defineProperty({}, "".concat(_name), (_value || []).length * _size + _cpos + 'px'));
502
548
  };
503
549
  if (both) {
504
550
  setProp('height', items, props.itemSize[0], contentPos.y);
@@ -509,7 +555,7 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
509
555
  }
510
556
  };
511
557
  var setContentPosition = function setContentPosition(pos) {
512
- if (_contentRef.current) {
558
+ if (_contentRef.current && !props.appendOnly) {
513
559
  var first = pos ? pos.first : firstState;
514
560
  var calculateTranslateVal = function calculateTranslateVal(_first, _size) {
515
561
  return _first * _size;
@@ -518,7 +564,9 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
518
564
  var _x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
519
565
  var _y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
520
566
  _stickyRef.current && (_stickyRef.current.style.top = "-".concat(_y, "px"));
521
- _contentRef.current.style.transform = "translate3d(".concat(_x, "px, ").concat(_y, "px, 0)");
567
+ contentStyle.current = _objectSpread(_objectSpread({}, contentStyle.current), {
568
+ transform: "translate3d(".concat(_x, "px, ").concat(_y, "px, 0)")
569
+ });
522
570
  };
523
571
  if (both) {
524
572
  setTransform(calculateTranslateVal(first.cols, props.itemSize[1]), calculateTranslateVal(first.rows, props.itemSize[0]));
@@ -562,36 +610,40 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
562
610
  if (both) {
563
611
  var isScrollDown = lastScrollPos.current.top <= scrollTop;
564
612
  var isScrollRight = lastScrollPos.current.left <= scrollLeft;
565
- var currentIndex = {
566
- rows: calculateCurrentIndex(scrollTop, props.itemSize[0]),
567
- cols: calculateCurrentIndex(scrollLeft, props.itemSize[1])
568
- };
569
- var triggerIndex = {
570
- rows: calculateTriggerIndex(currentIndex.rows, firstState.rows, lastState.rows, numItemsInViewportState.rows, numToleratedItemsState[0], isScrollDown),
571
- cols: calculateTriggerIndex(currentIndex.cols, firstState.cols, lastState.cols, numItemsInViewportState.cols, numToleratedItemsState[1], isScrollRight)
572
- };
573
- newFirst = {
574
- rows: calculateFirst(currentIndex.rows, triggerIndex.rows, firstState.rows, lastState.rows, numItemsInViewportState.rows, numToleratedItemsState[0], isScrollDown),
575
- cols: calculateFirst(currentIndex.cols, triggerIndex.cols, firstState.cols, lastState.cols, numItemsInViewportState.cols, numToleratedItemsState[1], isScrollRight)
576
- };
577
- newLast = {
578
- rows: calculateLast(currentIndex.rows, newFirst.rows, lastState.rows, numItemsInViewportState.rows, numToleratedItemsState[0]),
579
- cols: calculateLast(currentIndex.cols, newFirst.cols, lastState.cols, numItemsInViewportState.cols, numToleratedItemsState[1], true)
580
- };
581
- isRangeChanged = newFirst.rows !== firstState.rows || newLast.rows !== lastState.rows || newFirst.cols !== firstState.cols || newLast.cols !== lastState.cols;
582
- newScrollPos = {
583
- top: scrollTop,
584
- left: scrollLeft
585
- };
613
+ if (!props.appendOnly || props.appendOnly && (isScrollDown || isScrollRight)) {
614
+ var currentIndex = {
615
+ rows: calculateCurrentIndex(scrollTop, props.itemSize[0]),
616
+ cols: calculateCurrentIndex(scrollLeft, props.itemSize[1])
617
+ };
618
+ var triggerIndex = {
619
+ rows: calculateTriggerIndex(currentIndex.rows, firstState.rows, lastState.rows, numItemsInViewportState.rows, numToleratedItemsState[0], isScrollDown),
620
+ cols: calculateTriggerIndex(currentIndex.cols, firstState.cols, lastState.cols, numItemsInViewportState.cols, numToleratedItemsState[1], isScrollRight)
621
+ };
622
+ newFirst = {
623
+ rows: calculateFirst(currentIndex.rows, triggerIndex.rows, firstState.rows, lastState.rows, numItemsInViewportState.rows, numToleratedItemsState[0], isScrollDown),
624
+ cols: calculateFirst(currentIndex.cols, triggerIndex.cols, firstState.cols, lastState.cols, numItemsInViewportState.cols, numToleratedItemsState[1], isScrollRight)
625
+ };
626
+ newLast = {
627
+ rows: calculateLast(currentIndex.rows, newFirst.rows, lastState.rows, numItemsInViewportState.rows, numToleratedItemsState[0]),
628
+ cols: calculateLast(currentIndex.cols, newFirst.cols, lastState.cols, numItemsInViewportState.cols, numToleratedItemsState[1], true)
629
+ };
630
+ isRangeChanged = newFirst.rows !== firstState.rows || newLast.rows !== lastState.rows || newFirst.cols !== firstState.cols || newLast.cols !== lastState.cols || isItemRangeChanged.current;
631
+ newScrollPos = {
632
+ top: scrollTop,
633
+ left: scrollLeft
634
+ };
635
+ }
586
636
  } else {
587
637
  var scrollPos = horizontal ? scrollLeft : scrollTop;
588
638
  var isScrollDownOrRight = lastScrollPos.current <= scrollPos;
589
- var _currentIndex2 = calculateCurrentIndex(scrollPos, props.itemSize);
590
- var _triggerIndex2 = calculateTriggerIndex(_currentIndex2, firstState, lastState, numItemsInViewportState, numToleratedItemsState, isScrollDownOrRight);
591
- newFirst = calculateFirst(_currentIndex2, _triggerIndex2, firstState, lastState, numItemsInViewportState, numToleratedItemsState, isScrollDownOrRight);
592
- newLast = calculateLast(_currentIndex2, newFirst, lastState, numItemsInViewportState, numToleratedItemsState);
593
- isRangeChanged = newFirst !== firstState || newLast !== lastState;
594
- newScrollPos = scrollPos;
639
+ if (!props.appendOnly || props.appendOnly && isScrollDownOrRight) {
640
+ var _currentIndex2 = calculateCurrentIndex(scrollPos, props.itemSize);
641
+ var _triggerIndex2 = calculateTriggerIndex(_currentIndex2, firstState, lastState, numItemsInViewportState, numToleratedItemsState, isScrollDownOrRight);
642
+ newFirst = calculateFirst(_currentIndex2, _triggerIndex2, firstState, lastState, numItemsInViewportState, numToleratedItemsState, isScrollDownOrRight);
643
+ newLast = calculateLast(_currentIndex2, newFirst, lastState, numItemsInViewportState, numToleratedItemsState);
644
+ isRangeChanged = newFirst !== firstState || newLast !== lastState || isItemRangeChanged.current;
645
+ newScrollPos = scrollPos;
646
+ }
595
647
  }
596
648
  return {
597
649
  first: newFirst,
@@ -616,8 +668,14 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
616
668
  setLastState(last);
617
669
  lastScrollPos.current = scrollPos;
618
670
  props.onScrollIndexChange && props.onScrollIndexChange(newState);
619
- if (props.lazy) {
620
- props.onLazyLoad && props.onLazyLoad(newState);
671
+ if (props.lazy && isPageChanged(first)) {
672
+ var newLazyLoadState = {
673
+ first: props.step ? Math.min(getPageByFirst(first) * props.step, props.items.length - props.step) : first,
674
+ last: Math.min(props.step ? (getPageByFirst(first) + 1) * props.step : last, props.items.length)
675
+ };
676
+ var isLazyStateChanged = !lazyLoadState.current || lazyLoadState.current.first !== newLazyLoadState.first || lazyLoadState.current.last !== newLazyLoadState.last;
677
+ isLazyStateChanged && props.onLazyLoad && props.onLazyLoad(newLazyLoadState);
678
+ lazyLoadState.current = newLazyLoadState;
621
679
  }
622
680
  }
623
681
  };
@@ -627,17 +685,21 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
627
685
  if (scrollTimeout.current) {
628
686
  clearTimeout(scrollTimeout.current);
629
687
  }
630
- if (!loadingState && props.showLoader) {
631
- var _onScrollPositionChan2 = onScrollPositionChange(event),
632
- changed = _onScrollPositionChan2.isRangeChanged;
633
- changed && setLoadingState(true);
634
- }
635
- scrollTimeout.current = setTimeout(function () {
636
- onScrollChange(event);
637
- if (loadingState && props.showLoader && (!props.lazy || props.loading === undefined)) {
638
- setLoadingState(false);
688
+ if (isPageChanged(firstState)) {
689
+ if (!loadingState && props.showLoader) {
690
+ var _onScrollPositionChan2 = onScrollPositionChange(event),
691
+ isRangeChanged = _onScrollPositionChan2.isRangeChanged;
692
+ var changed = isRangeChanged || (props.step ? isPageChanged(firstState) : false);
693
+ changed && setLoadingState(true);
639
694
  }
640
- }, props.delay);
695
+ scrollTimeout.current = setTimeout(function () {
696
+ onScrollChange(event);
697
+ if (loadingState && props.showLoader && (!props.lazy || props.loading === undefined)) {
698
+ setLoadingState(false);
699
+ setPageState(getPageByFirst(firstState));
700
+ }
701
+ }, props.delay);
702
+ }
641
703
  } else {
642
704
  onScrollChange(event);
643
705
  }
@@ -648,9 +710,9 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
648
710
  }
649
711
  resizeTimeout.current = setTimeout(function () {
650
712
  if (elementRef.current) {
651
- var _ref = [utils.DomHandler.getWidth(elementRef.current), utils.DomHandler.getHeight(elementRef.current)],
652
- width = _ref[0],
653
- height = _ref[1];
713
+ var _ref2 = [utils.DomHandler.getWidth(elementRef.current), utils.DomHandler.getHeight(elementRef.current)],
714
+ width = _ref2[0],
715
+ height = _ref2[1];
654
716
  var isDiffWidth = width !== defaultWidth.current,
655
717
  isDiffHeight = height !== defaultHeight.current;
656
718
  var reinit = both ? isDiffWidth || isDiffHeight : horizontal ? isDiffWidth : vertical ? isDiffHeight : false;
@@ -658,6 +720,8 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
658
720
  setNumToleratedItemsState(props.numToleratedItems);
659
721
  defaultWidth.current = width;
660
722
  defaultHeight.current = height;
723
+ defaultContentWidth.current = utils.DomHandler.getWidth(_contentRef.current);
724
+ defaultContentHeight.current = utils.DomHandler.getHeight(_contentRef.current);
661
725
  }
662
726
  }
663
727
  }, props.resizeDelay);
@@ -690,12 +754,24 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
690
754
  var loadedItems = function loadedItems() {
691
755
  var items = props.items;
692
756
  if (items && !loadingState) {
693
- if (both) return items.slice(firstState.rows, lastState.rows).map(function (item) {
694
- return props.columns ? item : item.slice(firstState.cols, lastState.cols);
695
- });else if (horizontal && props.columns) return items;else return items.slice(firstState, lastState);
757
+ if (both) return items.slice(props.appendOnly ? 0 : firstState.rows, lastState.rows).map(function (item) {
758
+ return props.columns ? item : item.slice(props.appendOnly ? 0 : firstState.cols, lastState.cols);
759
+ });else if (horizontal && props.columns) return items;else return items.slice(props.appendOnly ? 0 : firstState, lastState);
696
760
  }
697
761
  return [];
698
762
  };
763
+ var viewInit = function viewInit() {
764
+ if (elementRef.current && utils.DomHandler.isVisible(elementRef.current)) {
765
+ setContentElement(_contentRef.current);
766
+ init();
767
+ bindWindowResizeListener();
768
+ bindOrientationChangeListener();
769
+ defaultWidth.current = utils.DomHandler.getWidth(elementRef.current);
770
+ defaultHeight.current = utils.DomHandler.getHeight(elementRef.current);
771
+ defaultContentWidth.current = utils.DomHandler.getWidth(_contentRef.current);
772
+ defaultContentHeight.current = utils.DomHandler.getHeight(_contentRef.current);
773
+ }
774
+ };
699
775
  var init = function init() {
700
776
  if (!props.disabled) {
701
777
  setSize();
@@ -704,17 +780,11 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
704
780
  }
705
781
  };
706
782
  hooks.useMountEffect(function () {
707
- if (!props.disabled) {
708
- init();
709
- bindWindowResizeListener();
710
- bindOrientationChangeListener();
711
- defaultWidth.current = utils.DomHandler.getWidth(elementRef.current);
712
- defaultHeight.current = utils.DomHandler.getHeight(elementRef.current);
713
- }
783
+ viewInit();
714
784
  });
715
785
  hooks.useUpdateEffect(function () {
716
786
  init();
717
- }, [props.itemSize, props.scrollHeight]);
787
+ }, [props.itemSize, props.scrollHeight, props.scrollWidth]);
718
788
  hooks.useUpdateEffect(function () {
719
789
  if (props.numToleratedItems !== numToleratedItemsState) {
720
790
  setNumToleratedItemsState(props.numToleratedItems);
@@ -726,11 +796,11 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
726
796
  }
727
797
  }, [numToleratedItemsState]);
728
798
  hooks.useUpdateEffect(function () {
729
- if (!prevItems || prevItems.length !== (props.items || []).length) {
799
+ if (!prevProps.items || prevProps.items.length !== (props.items || []).length) {
730
800
  init();
731
801
  }
732
802
  var loading = loadingState;
733
- if (props.lazy && prevLoading !== props.loading && props.loading !== loadingState) {
803
+ if (props.lazy && prevProps.loading !== props.loading && props.loading !== loadingState) {
734
804
  setLoadingState(props.loading);
735
805
  loading = props.loading;
736
806
  }
@@ -792,6 +862,7 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
792
862
  if (props.showSpacer) {
793
863
  return /*#__PURE__*/React__namespace.createElement("div", {
794
864
  ref: _spacerRef,
865
+ style: spacerStyle.current,
795
866
  className: "p-virtualscroller-spacer"
796
867
  });
797
868
  }
@@ -815,11 +886,14 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
815
886
  });
816
887
  var content = /*#__PURE__*/React__namespace.createElement("div", {
817
888
  ref: _contentRef,
889
+ style: contentStyle.current,
818
890
  className: className
819
891
  }, items);
820
892
  if (props.contentTemplate) {
821
893
  var defaultOptions = {
894
+ style: contentStyle.current,
822
895
  className: className,
896
+ spacerStyle: spacerStyle.current,
823
897
  contentRef: function contentRef(el) {
824
898
  return _contentRef.current = utils.ObjectUtils.getRefElement(el);
825
899
  },
@@ -862,10 +936,9 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
862
936
  } else {
863
937
  var otherProps = VirtualScrollerBase.getOtherProps(props);
864
938
  var className = utils.classNames('p-virtualscroller', {
865
- 'p-both-scroll': both,
866
- 'p-virtualscroller-both': both,
867
- 'p-virtualscroller-horizontal': horizontal,
868
- 'p-horizontal-scroll': horizontal
939
+ 'p-virtualscroller-inline': props.inline,
940
+ 'p-virtualscroller-both p-both-scroll': both,
941
+ 'p-virtualscroller-horizontal p-horizontal-scroll': horizontal
869
942
  }, props.className);
870
943
  var loader = createLoader();
871
944
  var _content = createContent();
@@ -873,7 +946,7 @@ this.primereact.virtualscroller = (function (exports, React, hooks, utils) {
873
946
  return /*#__PURE__*/React__namespace.createElement("div", _extends({
874
947
  ref: elementRef,
875
948
  className: className,
876
- tabIndex: 0,
949
+ tabIndex: props.tabIndex,
877
950
  style: props.style
878
951
  }, otherProps, {
879
952
  onScroll: onScroll
@@ -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}.p-virtualscroller-loading-icon{font-size:2rem}.p-horizontal-scroll>.p-virtualscroller-content{display:flex}
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}.p-virtualscroller-horizontal>.p-virtualscroller-content{display:flex}.p-virtualscroller-inline .p-virtualscroller-content{position:static}
@@ -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 i(){return i=Object.assign?Object.assign.bind():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){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}function c(e,t){if("object"!==s(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==s(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function a(e){var t=c(e,"string");return"symbol"===s(t)?t:String(t)}function u(e,t,r){return(t=a(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function f(e){if(Array.isArray(e))return e}function m(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,l,i,s=[],c=!0,a=!1;try{if(l=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=l.call(r)).done)&&(s.push(n.value),s.length!==t);c=!0);}catch(e){a=!0,o=e}finally{try{if(!c&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(a)throw o}}return s}}function d(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 p(e,t){if(e){if("string"==typeof e)return d(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)?d(e,t):void 0}}function g(){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 h(e,t){return f(e)||m(e,t)||p(e,t)||g()}var v={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,children:void 0},getProps:function(e){return n.ObjectUtils.getMergedProps(e,v.defaultProps)},getOtherProps:function(e){return n.ObjectUtils.getDiffProps(e,v.defaultProps)}};function y(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 w(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?y(Object(r),!0).forEach((function(t){u(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):y(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var b=l.memo(l.forwardRef((function(e,t){var o=v.getProps(e),s="vertical"===o.orientation,c="horizontal"===o.orientation,a="both"===o.orientation,u=h(l.useState(a?{rows:0,cols:0}:0),2),f=u[0],m=u[1],d=h(l.useState(a?{rows:0,cols:0}:0),2),p=d[0],g=d[1],y=h(l.useState(a?{rows:0,cols:0}:0),2),b=y[0],S=y[1],z=h(l.useState(o.numToleratedItems),2),O=z[0],j=z[1],T=h(l.useState(o.loading||!1),2),I=T[0],E=T[1],P=h(l.useState([]),2),x=P[0],R=P[1],L=l.useRef(null),D=l.useRef(null),H=l.useRef(null),U=l.useRef(null),M=l.useRef(a?{top:0,left:0}:0),N=l.useRef(null),W=l.useRef(null),A=l.useRef(null),C=l.useRef(null),k=r.usePrevious(o.items),V=r.usePrevious(o.loading),_=h(r.useResizeListener({listener:function(e){return oe()}}),1)[0],J=h(r.useEventListener({target:"window",type:"orientationchange",listener:function(e){return oe()}}),1)[0],X=function(){return L},F=function(e){M.current=a?{top:0,left:0}:0,L.current&&L.current.scrollTo(e)},B=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"auto",r=q(),n=r.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},s=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return F({left:e,top:r,behavior:t})};if(a){var u={rows:l(e[0],n[0]),cols:l(e[1],n[1])};u.rows===f.rows&&u.cols===f.cols||s(i(u.cols,o.itemSize[1]),i(u.rows,o.itemSize[0]))}else{var m=l(e,n);m!==f&&(c?s(i(m,o.itemSize),0):s(0,i(m,o.itemSize)))}},Y=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"auto";if(t){var n=$(),l=n.first,i=n.viewport,s=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 F({left:e,top:t,behavior:r})},u="to-start"===t,f="to-end"===t;if(u){if(a)i.first.rows-l.rows>e[0]?s(i.first.cols*o.itemSize[1],(i.first.rows-1)*o.itemSize[0]):i.first.cols-l.cols>e[1]&&s((i.first.cols-1)*o.itemSize[1],i.first.rows*o.itemSize[0]);else if(i.first-l>e){var m=(i.first-1)*o.itemSize;c?s(m,0):s(0,m)}}else if(f)if(a)i.last.rows-l.rows<=e[0]+1?s(i.first.cols*o.itemSize[1],(i.first.rows+1)*o.itemSize[0]):i.last.cols-l.cols<=e[1]+1&&s((i.first.cols+1)*o.itemSize[1],i.first.rows*o.itemSize[0]);else if(i.last-l<=e+1){var d=(i.first+1)*o.itemSize;c?s(d,0):s(0,d)}}else B(e,r)},$=function(){var e=function(e,t){return Math.floor(e/(t||e))},t=f,r=0;if(L.current){var n=L.current,l=n.scrollTop,i=n.scrollLeft;if(a)r={rows:(t={rows:e(l,o.itemSize[0]),cols:e(i,o.itemSize[1])}).rows+b.rows,cols:t.cols+b.cols};else r=(t=e(c?i:l,o.itemSize))+b}return{first:f,last:p,viewport:{first:t,last:r}}},q=function(){var e=Q(),t=L.current?L.current.offsetWidth-e.left:0,r=L.current?L.current.offsetHeight-e.top:0,n=function(e,t){return Math.ceil(e/(t||e))},l=function(e){return Math.ceil(e/2)},i=a?{rows:n(r,o.itemSize[0]),cols:n(t,o.itemSize[1])}:n(c?t:r,o.itemSize);return{numItemsInViewport:i,numToleratedItems:O||(a?[l(i.rows),l(i.cols)]:l(i))}},G=function(e){o.autoSize&&!e&&Promise.resolve().then((function(){if(D.current){D.current.style.minHeight=D.current.style.minWidth="auto";var e=D.current,t=e.offsetWidth,r=e.offsetHeight;(a||c)&&(L.current.style.width=(t<A.current?t:A.current)+"px"),(a||s)&&(L.current.style.height=(r<C.current?r:C.current)+"px"),D.current.style.minHeight=D.current.style.minWidth=""}}))},K=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0;return o.items?Math.min(t?(o.columns||o.items[0]).length:o.items.length,e):0},Q=function(){if(D.current){var e=getComputedStyle(D.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}},Z=function(){if(L.current){var e=L.current.parentElement,t=o.scrollWidth||"".concat(L.current.offsetWidth||e.offsetWidth,"px"),r=o.scrollHeight||"".concat(L.current.offsetHeight||e.offsetHeight,"px"),n=function(e,t){return L.current.style[e]=t};a||c?(n("height",r),n("width",t)):n("height",r)}},ee=function(){var e=o.items;if(H.current&&e){var t=Q(),r=function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return H.current.style[e]=(t||[]).length*r+n+"px"};a?(r("height",e,o.itemSize[0],t.y),r("width",o.columns||e[1],o.itemSize[1],t.x)):c?r("width",o.columns||e,o.itemSize,t.x):r("height",e,o.itemSize,t.y)}},te=function(e){if(D.current){var t=e?e.first:f,r=function(e,t){return e*t},n=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;U.current&&(U.current.style.top="-".concat(t,"px")),D.current.style.transform="translate3d(".concat(e,"px, ").concat(t,"px, 0)")};if(a)n(r(t.cols,o.itemSize[1]),r(t.rows,o.itemSize[0]));else{var l=r(t,o.itemSize);c?n(l,0):n(0,l)}}},re=function(e){var t=e.target,r=Q(),n=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},s=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)},u=function(e,t,r,n,o,l){var i=t+n+2*o;return e>=o&&(i+=o+1),K(i,l)},m=n(t.scrollTop,r.top),d=n(t.scrollLeft,r.left),g=a?{rows:0,cols:0}:0,h=p,v=!1,y=M.current;if(a){var w=M.current.top<=m,S=M.current.left<=d,z={rows:l(m,o.itemSize[0]),cols:l(d,o.itemSize[1])},j={rows:i(z.rows,f.rows,p.rows,b.rows,O[0],w),cols:i(z.cols,f.cols,p.cols,b.cols,O[1],S)};g={rows:s(z.rows,j.rows,f.rows,0,0,O[0],w),cols:s(z.cols,j.cols,f.cols,0,0,O[1],S)},h={rows:u(z.rows,g.rows,0,b.rows,O[0]),cols:u(z.cols,g.cols,0,b.cols,O[1],!0)},v=g.rows!==f.rows||h.rows!==p.rows||g.cols!==f.cols||h.cols!==p.cols,y={top:m,left:d}}else{var T=c?d:m,I=M.current<=T,E=l(T,o.itemSize);h=u(E,g=s(E,i(E,f,p,b,O,I),f,0,0,O,I),0,b,O),v=g!==f||h!==p,y=T}return{first:g,last:h,isRangeChanged:v,scrollPos:y}},ne=function(e){var t=re(e),r=t.first,n=t.last,l=t.scrollPos;if(t.isRangeChanged){var i={first:r,last:n};te(i),m(r),g(n),M.current=l,o.onScrollIndexChange&&o.onScrollIndexChange(i),o.lazy&&o.onLazyLoad&&o.onLazyLoad(i)}},oe=function(){W.current&&clearTimeout(W.current),W.current=setTimeout((function(){if(L.current){var e=[n.DomHandler.getWidth(L.current),n.DomHandler.getHeight(L.current)],t=e[0],r=e[1],l=t!==A.current,i=r!==C.current;(a?l||i:c?l:!!s&&i)&&(j(o.numToleratedItems),A.current=t,C.current=r)}}),o.resizeDelay)},le=function(e){var t=(o.items||[]).length,r=a?f.rows+e:f+e;return{index:r,count:t,first:0===r,last:r===t-1,even:r%2==0,odd:r%2!=0,props:o}},ie=function(e,t){var r=x.length;return w({index:e,count:r,first:0===e,last:e===r-1,even:e%2==0,odd:e%2!=0,props:o},t)},se=function(){var e=o.items;return e&&!I?a?e.slice(f.rows,p.rows).map((function(e){return o.columns?e:e.slice(f.cols,p.cols)})):c&&o.columns?e:e.slice(f,p):[]},ce=function(){var e,t,r,n,l;o.disabled||(Z(),e=q(),t=e.numItemsInViewport,r=e.numToleratedItems,n=function(e,t,r,n){return K(e+t+(e<r?2:3)*r,n)},l=a?{rows:n(f.rows,t.rows,r[0]),cols:n(f.cols,t.cols,r[1],!0)}:n(f,t,r),S(t),j(r),g(l),o.showLoader&&R(a?Array.from({length:t.rows}).map((function(){return Array.from({length:t.cols})})):Array.from({length:t})),o.lazy&&o.onLazyLoad&&o.onLazyLoad({first:f,last:l}),ee())};r.useMountEffect((function(){o.disabled||(ce(),_(),J(),A.current=n.DomHandler.getWidth(L.current),C.current=n.DomHandler.getHeight(L.current))})),r.useUpdateEffect((function(){ce()}),[o.itemSize,o.scrollHeight]),r.useUpdateEffect((function(){o.numToleratedItems!==O&&j(o.numToleratedItems)}),[o.numToleratedItems]),r.useUpdateEffect((function(){o.numToleratedItems===O&&ce()}),[O]),r.useUpdateEffect((function(){k&&k.length===(o.items||[]).length||ce();var e=I;o.lazy&&V!==o.loading&&o.loading!==I&&(E(o.loading),e=o.loading),G(e)})),r.useUpdateEffect((function(){M.current=a?{top:0,left:0}:0}),[o.orientation]),l.useImperativeHandle(t,(function(){return{props:o,getElementRef:X,scrollTo:F,scrollToIndex:B,scrollInView:Y,getRenderedRange:$}}));var ae=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=ie(e,t),i=n.ObjectUtils.getJSXElement(o.loadingTemplate,r);return l.createElement(l.Fragment,{key:e},i)},ue=function(e,t){var r=le(t),i=n.ObjectUtils.getJSXElement(o.itemTemplate,e,r);return l.createElement(l.Fragment,{key:r.index},i)};if(o.disabled){var fe=n.ObjectUtils.getJSXElement(o.contentTemplate,{items:o.items,rows:o.items,columns:o.columns});return l.createElement(l.Fragment,null,o.children,fe)}var me=v.getOtherProps(o),de=n.classNames("p-virtualscroller",{"p-both-scroll":a,"p-virtualscroller-both":a,"p-virtualscroller-horizontal":c,"p-horizontal-scroll":c},o.className),pe=function(){if(!o.loaderDisabled&&o.showLoader&&I){var e=n.classNames("p-virtualscroller-loader",{"p-component-overlay":!o.loadingTemplate}),t=l.createElement("i",{className:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"});return o.loadingTemplate?t=x.map((function(e,t){return ae(t,a&&{numCols:b.cols})})):o.loaderIconTemplate&&(t=n.ObjectUtils.getJSXElement(o.loaderIconTemplate,{className:"p-virtualscroller-loading-icon",element:t,props:o})),l.createElement("div",{className:e},t)}return null}(),ge=function(){var e=se().map(ue),t=n.classNames("p-virtualscroller-content",{"p-virtualscroller-loading":I}),r=l.createElement("div",{ref:D,className:t},e);if(o.contentTemplate){var i={className:t,contentRef:function(e){return D.current=n.ObjectUtils.getRefElement(e)},spacerRef:function(e){return H.current=n.ObjectUtils.getRefElement(e)},stickyRef:function(e){return U.current=n.ObjectUtils.getRefElement(e)},items:se(),getItemOptions:function(e){return le(e)},children:e,element:r,props:o,loading:I,getLoaderOptions:function(e,t){return ie(e,t)},loadingTemplate:o.loadingTemplate,itemSize:o.itemSize,rows:I?o.loaderDisabled?x:[]:se(),columns:o.columns&&a||c?I&&o.loaderDisabled?a?x[0]:x:o.columns.slice(a?f.cols:f,a?p.cols:p):o.columns,vertical:s,horizontal:c,both:a};return n.ObjectUtils.getJSXElement(o.contentTemplate,i)}return r}(),he=o.showSpacer?l.createElement("div",{ref:H,className:"p-virtualscroller-spacer"}):null;return l.createElement("div",i({ref:L,className:de,tabIndex:0,style:o.style},me,{onScroll:function(e){o.onScroll&&o.onScroll(e),o.delay?(N.current&&clearTimeout(N.current),!I&&o.showLoader&&re(e).isRangeChanged&&E(!0),N.current=setTimeout((function(){ne(e),!I||!o.showLoader||o.lazy&&void 0!==o.loading||E(!1)}),o.delay)):ne(e)}}),ge,he,pe)})));return b.displayName="VirtualScroller",e.VirtualScroller=b,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?Object.assign.bind():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){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}function c(e,t){if("object"!==s(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==s(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function u(e){var t=c(e,"string");return"symbol"===s(t)?t:String(t)}function a(e,t,r){return(t=u(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function f(e){if(Array.isArray(e))return e}function m(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,l,i,s=[],c=!0,u=!1;try{if(l=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=l.call(r)).done)&&(s.push(n.value),s.length!==t);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw o}}return s}}function p(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 d(e,t){if(e){if("string"==typeof e)return p(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)?p(e,t):void 0}}function g(){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 h(e,t){return f(e)||m(e,t)||d(e,t)||g()}var v={defaultProps:{__TYPE:"VirtualScroller",id:null,style:null,className:null,tabIndex:0,items:null,itemSize:0,scrollHeight:null,scrollWidth:null,orientation:"vertical",step:0,numToleratedItems:null,delay:0,resizeDelay:10,appendOnly:!1,inline:!1,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,children:void 0},getProps:function(e){return n.ObjectUtils.getMergedProps(e,v.defaultProps)},getOtherProps:function(e){return n.ObjectUtils.getDiffProps(e,v.defaultProps)}};function y(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 w(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?y(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):y(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var b=l.memo(l.forwardRef((function(e,t){var o=v.getProps(e),s=r.usePrevious(e)||{},c="vertical"===o.orientation,u="horizontal"===o.orientation,f="both"===o.orientation,m=h(l.useState(f?{rows:0,cols:0}:0),2),p=m[0],d=m[1],g=h(l.useState(f?{rows:0,cols:0}:0),2),y=g[0],b=g[1],S=h(l.useState(0),2),O=S[0],z=S[1],j=h(l.useState(f?{rows:0,cols:0}:0),2),T=j[0],E=j[1],R=h(l.useState(o.numToleratedItems),2),I=R[0],P=R[1],x=h(l.useState(o.loading||!1),2),H=x[0],D=x[1],L=h(l.useState([]),2),M=L[0],U=L[1],N=l.useRef(null),W=l.useRef(null),F=l.useRef(null),A=l.useRef(null),C=l.useRef(f?{top:0,left:0}:0),V=l.useRef(null),k=l.useRef(null),_=l.useRef({}),J=l.useRef({}),X=l.useRef(null),B=l.useRef(null),Y=l.useRef(null),$=l.useRef(null),q=l.useRef(!1),G=l.useRef(null),K=h(r.useResizeListener({listener:function(e){return ge()},when:!o.disabled}),1)[0],Q=h(r.useEventListener({target:"window",type:"orientationchange",listener:function(e){return ge()},when:!o.disabled}),1)[0],Z=function(){return N},ee=function(e){return Math.floor((e+4*I)/(o.step||1))},te=function(e){return!o.step||O!==ee(e)},re=function(e){C.current=f?{top:0,left:0}:0,N.current&&N.current.scrollTo(e)},ne=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"auto",r=ie().numToleratedItems,n=ue(),l=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return e<=(arguments.length>1?arguments[1]:void 0)?0:e},i=function(e,t,r){return e*t+r},s=function(){return re({left:arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,top:arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,behavior:t})},c=f?{rows:0,cols:0}:0,a=!1;f?(s(i((c={rows:l(e[0],r[0]),cols:l(e[1],r[1])}).cols,o.itemSize[1],n.left),i(c.rows,o.itemSize[0],n.top)),a=p.rows!==c.rows||p.cols!==c.cols):(c=l(e,r),u?s(i(c,o.itemSize,n.left),0):s(0,i(c,o.itemSize,n.top)),a=p!==c),q.current=a,d(c)},oe=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"auto";if(t){var n=le(),l=n.first,i=n.viewport,s=function(){return re({left:arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,top:arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,behavior:r})},c="to-end"===t;if("to-start"===t){if(f)i.first.rows-l.rows>e[0]?s(i.first.cols*o.itemSize[1],(i.first.rows-1)*o.itemSize[0]):i.first.cols-l.cols>e[1]&&s((i.first.cols-1)*o.itemSize[1],i.first.rows*o.itemSize[0]);else if(i.first-l>e){var a=(i.first-1)*o.itemSize;u?s(a,0):s(0,a)}}else if(c)if(f)i.last.rows-l.rows<=e[0]+1?s(i.first.cols*o.itemSize[1],(i.first.rows+1)*o.itemSize[0]):i.last.cols-l.cols<=e[1]+1&&s((i.first.cols+1)*o.itemSize[1],i.first.rows*o.itemSize[0]);else if(i.last-l<=e+1){var m=(i.first+1)*o.itemSize;u?s(m,0):s(0,m)}}else ne(e,r)},le=function(){var e=function(e,t){return Math.floor(e/(t||e))},t=p,r=0;if(N.current){var n=N.current,l=n.scrollTop,i=n.scrollLeft;if(f)r={rows:(t={rows:e(l,o.itemSize[0]),cols:e(i,o.itemSize[1])}).rows+T.rows,cols:t.cols+T.cols};else r=(t=e(u?i:l,o.itemSize))+T}return{first:p,last:y,viewport:{first:t,last:r}}},ie=function(){var e=ue(),t=N.current?N.current.offsetWidth-e.left:0,r=N.current?N.current.offsetHeight-e.top:0,n=function(e,t){return Math.ceil(e/(t||e))},l=function(e){return Math.ceil(e/2)},i=f?{rows:n(r,o.itemSize[0]),cols:n(t,o.itemSize[1])}:n(u?t:r,o.itemSize);return{numItemsInViewport:i,numToleratedItems:I||(f?[l(i.rows),l(i.cols)]:l(i))}},se=function(e){o.autoSize&&!e&&Promise.resolve().then((function(){if(W.current){W.current.style.minHeight=W.current.style.minWidth="auto",W.current.style.position="relative",N.current.style.contain="none";var e=[n.DomHandler.getWidth(N.current),n.DomHandler.getHeight(N.current)],t=e[0],r=e[1];(f||u)&&(N.current.style.width=(t<X.current?t:o.scrollWidth||X.current)+"px"),(f||c)&&(N.current.style.height=(r<B.current?r:o.scrollHeight||B.current)+"px"),W.current.style.minHeight=W.current.style.minWidth="",W.current.style.position="",N.current.style.contain=""}}))},ce=function(){return o.items?Math.min((arguments.length>1?arguments[1]:void 0)?(o.columns||o.items[0]).length:o.items.length,arguments.length>0&&void 0!==arguments[0]?arguments[0]:0):0},ue=function(){if(W.current){var e=getComputedStyle(W.current),t=parseFloat(e.paddingLeft)+Math.max(parseFloat(e.left)||0,0),r=parseFloat(e.paddingRight)+Math.max(parseFloat(e.right)||0,0),n=parseFloat(e.paddingTop)+Math.max(parseFloat(e.top)||0,0),o=parseFloat(e.paddingBottom)+Math.max(parseFloat(e.bottom)||0,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}},ae=function(){if(N.current){var e=N.current.parentElement,t=o.scrollWidth||"".concat(N.current.offsetWidth||e.offsetWidth,"px"),r=o.scrollHeight||"".concat(N.current.offsetHeight||e.offsetHeight,"px"),n=function(e,t){return N.current.style[e]=t};f||u?(n("height",r),n("width",t)):n("height",r)}},fe=function(){var e=o.items;if(e){var t=ue(),r=function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return J.current=w(w({},J.current),a({},"".concat(e),(t||[]).length*r+n+"px"))};f?(r("height",e,o.itemSize[0],t.y),r("width",o.columns||e[1],o.itemSize[1],t.x)):u?r("width",o.columns||e,o.itemSize,t.x):r("height",e,o.itemSize,t.y)}},me=function(e){if(W.current&&!o.appendOnly){var t=e?e.first:p,r=function(e,t){return e*t},n=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;A.current&&(A.current.style.top="-".concat(t,"px")),_.current=w(w({},_.current),{transform:"translate3d(".concat(e,"px, ").concat(t,"px, 0)")})};if(f)n(r(t.cols,o.itemSize[1]),r(t.rows,o.itemSize[0]));else{var l=r(t,o.itemSize);u?n(l,0):n(0,l)}}},pe=function(e){var t=e.target,r=ue(),n=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},s=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)},c=function(e,t,r,n,o,l){var i=t+n+2*o;return e>=o&&(i+=o+1),ce(i,l)},a=n(t.scrollTop,r.top),m=n(t.scrollLeft,r.left),d=f?{rows:0,cols:0}:0,g=y,h=!1,v=C.current;if(f){var w=C.current.top<=a,b=C.current.left<=m;if(!o.appendOnly||o.appendOnly&&(w||b)){var S={rows:l(a,o.itemSize[0]),cols:l(m,o.itemSize[1])},O={rows:i(S.rows,p.rows,y.rows,T.rows,I[0],w),cols:i(S.cols,p.cols,y.cols,T.cols,I[1],b)};d={rows:s(S.rows,O.rows,p.rows,0,0,I[0],w),cols:s(S.cols,O.cols,p.cols,0,0,I[1],b)},g={rows:c(S.rows,d.rows,0,T.rows,I[0]),cols:c(S.cols,d.cols,0,T.cols,I[1],!0)},h=d.rows!==p.rows||g.rows!==y.rows||d.cols!==p.cols||g.cols!==y.cols||q.current,v={top:a,left:m}}}else{var z=u?m:a,j=C.current<=z;if(!o.appendOnly||o.appendOnly&&j){var E=l(z,o.itemSize);g=c(E,d=s(E,i(E,p,y,T,I,j),p,0,0,I,j),0,T,I),h=d!==p||g!==y||q.current,v=z}}return{first:d,last:g,isRangeChanged:h,scrollPos:v}},de=function(e){var t=pe(e),r=t.first,n=t.last,l=t.scrollPos;if(t.isRangeChanged){var i={first:r,last:n};if(me(i),d(r),b(n),C.current=l,o.onScrollIndexChange&&o.onScrollIndexChange(i),o.lazy&&te(r)){var s={first:o.step?Math.min(ee(r)*o.step,o.items.length-o.step):r,last:Math.min(o.step?(ee(r)+1)*o.step:n,o.items.length)};(!G.current||G.current.first!==s.first||G.current.last!==s.last)&&o.onLazyLoad&&o.onLazyLoad(s),G.current=s}}},ge=function(){k.current&&clearTimeout(k.current),k.current=setTimeout((function(){if(N.current){var e=[n.DomHandler.getWidth(N.current),n.DomHandler.getHeight(N.current)],t=e[0],r=e[1],l=t!==X.current,i=r!==B.current;(f?l||i:u?l:!!c&&i)&&(P(o.numToleratedItems),X.current=t,B.current=r,Y.current=n.DomHandler.getWidth(W.current),$.current=n.DomHandler.getHeight(W.current))}}),o.resizeDelay)},he=function(e){var t=(o.items||[]).length,r=f?p.rows+e:p+e;return{index:r,count:t,first:0===r,last:r===t-1,even:r%2==0,odd:r%2!=0,props:o}},ve=function(e,t){var r=M.length;return w({index:e,count:r,first:0===e,last:e===r-1,even:e%2==0,odd:e%2!=0,props:o},t)},ye=function(){var e=o.items;return e&&!H?f?e.slice(o.appendOnly?0:p.rows,y.rows).map((function(e){return o.columns?e:e.slice(o.appendOnly?0:p.cols,y.cols)})):u&&o.columns?e:e.slice(o.appendOnly?0:p,y):[]},we=function(){var e,t,r,n,l;o.disabled||(ae(),e=ie(),t=e.numItemsInViewport,r=e.numToleratedItems,n=function(e,t,r){return ce(e+t+(e<r?2:3)*r,arguments.length>3&&void 0!==arguments[3]&&arguments[3])},l=f?{rows:n(p.rows,t.rows,r[0]),cols:n(p.cols,t.cols,r[1],!0)}:n(p,t,r),E(t),P(r),b(l),o.showLoader&&U(f?Array.from({length:t.rows}).map((function(){return Array.from({length:t.cols})})):Array.from({length:t})),o.lazy&&Promise.resolve().then((function(){G.current={first:o.step?f?{rows:0,cols:p.cols}:0:p,last:Math.min(o.step?o.step:l,o.items.length)},o.onLazyLoad&&o.onLazyLoad(G.current)})),fe())};r.useMountEffect((function(){N.current&&n.DomHandler.isVisible(N.current)&&(W.current=W.current||W.current||n.DomHandler.findSingle(N.current,".p-virtualscroller-content"),we(),K(),Q(),X.current=n.DomHandler.getWidth(N.current),B.current=n.DomHandler.getHeight(N.current),Y.current=n.DomHandler.getWidth(W.current),$.current=n.DomHandler.getHeight(W.current))})),r.useUpdateEffect((function(){we()}),[o.itemSize,o.scrollHeight,o.scrollWidth]),r.useUpdateEffect((function(){o.numToleratedItems!==I&&P(o.numToleratedItems)}),[o.numToleratedItems]),r.useUpdateEffect((function(){o.numToleratedItems===I&&we()}),[I]),r.useUpdateEffect((function(){s.items&&s.items.length===(o.items||[]).length||we();var e=H;o.lazy&&s.loading!==o.loading&&o.loading!==H&&(D(o.loading),e=o.loading),se(e)})),r.useUpdateEffect((function(){C.current=f?{top:0,left:0}:0}),[o.orientation]),l.useImperativeHandle(t,(function(){return{props:o,getElementRef:Z,scrollTo:re,scrollToIndex:ne,scrollInView:oe,getRenderedRange:le}}));var be=function(e){var t=ve(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),r=n.ObjectUtils.getJSXElement(o.loadingTemplate,t);return l.createElement(l.Fragment,{key:e},r)},Se=function(e,t){var r=he(t),i=n.ObjectUtils.getJSXElement(o.itemTemplate,e,r);return l.createElement(l.Fragment,{key:r.index},i)};if(o.disabled){var Oe=n.ObjectUtils.getJSXElement(o.contentTemplate,{items:o.items,rows:o.items,columns:o.columns});return l.createElement(l.Fragment,null,o.children,Oe)}var ze=v.getOtherProps(o),je=n.classNames("p-virtualscroller",{"p-virtualscroller-inline":o.inline,"p-virtualscroller-both p-both-scroll":f,"p-virtualscroller-horizontal p-horizontal-scroll":u},o.className),Te=function(){if(!o.loaderDisabled&&o.showLoader&&H){var e=n.classNames("p-virtualscroller-loader",{"p-component-overlay":!o.loadingTemplate}),t=l.createElement("i",{className:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"});return o.loadingTemplate?t=M.map((function(e,t){return be(t,f&&{numCols:T.cols})})):o.loaderIconTemplate&&(t=n.ObjectUtils.getJSXElement(o.loaderIconTemplate,{className:"p-virtualscroller-loading-icon",element:t,props:o})),l.createElement("div",{className:e},t)}return null}(),Ee=function(){var e=ye().map(Se),t=n.classNames("p-virtualscroller-content",{"p-virtualscroller-loading":H}),r=l.createElement("div",{ref:W,style:_.current,className:t},e);if(o.contentTemplate){var i={style:_.current,className:t,spacerStyle:J.current,contentRef:function(e){return W.current=n.ObjectUtils.getRefElement(e)},spacerRef:function(e){return F.current=n.ObjectUtils.getRefElement(e)},stickyRef:function(e){return A.current=n.ObjectUtils.getRefElement(e)},items:ye(),getItemOptions:function(e){return he(e)},children:e,element:r,props:o,loading:H,getLoaderOptions:function(e,t){return ve(e,t)},loadingTemplate:o.loadingTemplate,itemSize:o.itemSize,rows:H?o.loaderDisabled?M:[]:ye(),columns:o.columns&&f||u?H&&o.loaderDisabled?f?M[0]:M:o.columns.slice(f?p.cols:p,f?y.cols:y):o.columns,vertical:c,horizontal:u,both:f};return n.ObjectUtils.getJSXElement(o.contentTemplate,i)}return r}(),Re=o.showSpacer?l.createElement("div",{ref:F,style:J.current,className:"p-virtualscroller-spacer"}):null;return l.createElement("div",i({ref:N,className:je,tabIndex:o.tabIndex,style:o.style},ze,{onScroll:function(e){o.onScroll&&o.onScroll(e),o.delay?(V.current&&clearTimeout(V.current),te(p)&&(!H&&o.showLoader&&(pe(e).isRangeChanged||o.step&&te(p))&&D(!0),V.current=setTimeout((function(){de(e),!H||!o.showLoader||o.lazy&&void 0!==o.loading||(D(!1),z(ee(p)))}),o.delay))):de(e)}}),Ee,Re,Te)})));return b.displayName="VirtualScroller",e.VirtualScroller=b,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.hooks,primereact.utils);
package/web-types.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "framework": "React",
3
3
  "name": "PrimeReact",
4
- "version": "9.1.1",
4
+ "version": "9.2.1",
5
5
  "tags": [
6
6
  {
7
7
  "name": "Accordion",
@@ -4668,7 +4668,7 @@
4668
4668
  "name": "itemTemplate",
4669
4669
  "type": "function",
4670
4670
  "default": "null",
4671
- "description": "Function that gets the option along with the layout mdoe and returns the content."
4671
+ "description": "Function that gets the option along with the layout mode and returns the content."
4672
4672
  }
4673
4673
  ],
4674
4674
  "events": [