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
package/primereact.all.js CHANGED
@@ -288,7 +288,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
288
288
  key: "getOuterWidth",
289
289
  value: function getOuterWidth(el, margin) {
290
290
  if (el) {
291
- var width = el.offsetWidth || el.getBoundingClientRect().width;
291
+ var width = el.getBoundingClientRect().width || el.offsetWidth;
292
292
  if (margin) {
293
293
  var style = getComputedStyle(el);
294
294
  width += parseFloat(style.marginLeft) + parseFloat(style.marginRight);
@@ -301,7 +301,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
301
301
  key: "getOuterHeight",
302
302
  value: function getOuterHeight(el, margin) {
303
303
  if (el) {
304
- var height = el.offsetHeight || el.getBoundingClientRect().height;
304
+ var height = el.getBoundingClientRect().height || el.offsetHeight;
305
305
  if (margin) {
306
306
  var style = getComputedStyle(el);
307
307
  height += parseFloat(style.marginTop) + parseFloat(style.marginBottom);
@@ -485,7 +485,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
485
485
  }, {
486
486
  key: "absolutePosition",
487
487
  value: function absolutePosition(element, target) {
488
- if (element) {
488
+ if (element && target) {
489
489
  var elementDimensions = element.offsetParent ? {
490
490
  width: element.offsetWidth,
491
491
  height: element.offsetHeight
@@ -517,7 +517,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
517
517
  }, {
518
518
  key: "relativePosition",
519
519
  value: function relativePosition(element, target) {
520
- if (element) {
520
+ if (element && target) {
521
521
  var elementDimensions = element.offsetParent ? {
522
522
  width: element.offsetWidth,
523
523
  height: element.offsetHeight
@@ -747,7 +747,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
747
747
  _iterator2.f();
748
748
  }
749
749
  }
750
- if (parent.nodeType !== 9 && overflowCheck(parent)) {
750
+ if (parent.nodeType === 1 && overflowCheck(parent)) {
751
751
  scrollableParents.push(parent);
752
752
  }
753
753
  }
@@ -1952,12 +1952,17 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
1952
1952
  key: "isValidChild",
1953
1953
  value: function isValidChild(child, type, validTypes) {
1954
1954
  /* eslint-disable */
1955
- try {
1956
- if ("production" !== 'production' && this.getProp(child, '__TYPE') !== type && child.type.displayName !== type) ;
1957
- } catch (error) {
1958
- // NOOP
1955
+ if (child) {
1956
+ var childType = this.getComponentProp(child, '__TYPE') || (child.type ? child.type.displayName : undefined);
1957
+ var isValid = childType === type;
1958
+ try {
1959
+ var messageTypes; if ("production" !== 'production' && !isValid) ;
1960
+ } catch (error) {
1961
+ // NOOP
1962
+ }
1963
+ return isValid;
1959
1964
  }
1960
- return true;
1965
+ return false;
1961
1966
  /* eslint-enable */
1962
1967
  }
1963
1968
  }, {
@@ -2348,6 +2353,22 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
2348
2353
  numeric: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO],
2349
2354
  date: [FilterMatchMode.DATE_IS, FilterMatchMode.DATE_IS_NOT, FilterMatchMode.DATE_BEFORE, FilterMatchMode.DATE_AFTER]
2350
2355
  });
2356
+ _defineProperty(PrimeReact$1, "changeTheme", function (currentTheme, newTheme, linkElementId, callback) {
2357
+ var _linkElement$parentNo;
2358
+ var linkElement = document.getElementById(linkElementId);
2359
+ var cloneLinkElement = linkElement.cloneNode(true);
2360
+ var newThemeUrl = linkElement.getAttribute('href').replace(currentTheme, newTheme);
2361
+ cloneLinkElement.setAttribute('id', linkElementId + '-clone');
2362
+ cloneLinkElement.setAttribute('href', newThemeUrl);
2363
+ cloneLinkElement.addEventListener('load', function () {
2364
+ linkElement.remove();
2365
+ cloneLinkElement.setAttribute('id', linkElementId);
2366
+ if (callback) {
2367
+ callback();
2368
+ }
2369
+ });
2370
+ (_linkElement$parentNo = linkElement.parentNode) === null || _linkElement$parentNo === void 0 ? void 0 : _linkElement$parentNo.insertBefore(cloneLinkElement, linkElement.nextSibling);
2371
+ });
2351
2372
 
2352
2373
  function ownKeys$A(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2353
2374
  function _objectSpread$A(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$A(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$A(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -2960,6 +2981,34 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
2960
2981
  };
2961
2982
  /* eslint-enable */
2962
2983
 
2984
+ var useMatchMedia = function useMatchMedia(query) {
2985
+ var when = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
2986
+ var _React$useState = React__namespace.useState(false),
2987
+ _React$useState2 = _slicedToArray(_React$useState, 2),
2988
+ matches = _React$useState2[0],
2989
+ setMatches = _React$useState2[1];
2990
+ var matchMedia = React__namespace.useRef(null);
2991
+ var handleChange = function handleChange(e) {
2992
+ return setMatches(e.matches);
2993
+ };
2994
+ var bind = function bind() {
2995
+ return matchMedia.current && matchMedia.current.addEventListener('change', handleChange);
2996
+ };
2997
+ var unbind = function unbind() {
2998
+ return matchMedia.current && matchMedia.current.removeEventListener('change', handleChange) && (matchMedia.current = null);
2999
+ };
3000
+ React__namespace.useEffect(function () {
3001
+ if (when) {
3002
+ matchMedia.current = window.matchMedia(query);
3003
+ setMatches(matchMedia.current.matches);
3004
+ bind();
3005
+ }
3006
+ return unbind;
3007
+ }, [query, when]);
3008
+ return matches;
3009
+ };
3010
+ /* eslint-enable */
3011
+
2963
3012
  /* eslint-disable */
2964
3013
  var useMountEffect = function useMountEffect(fn) {
2965
3014
  return React__namespace.useEffect(fn, []);
@@ -3285,11 +3334,14 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
3285
3334
  /* eslint-enable */
3286
3335
 
3287
3336
  var useResizeListener = function useResizeListener(_ref) {
3288
- var listener = _ref.listener;
3337
+ var listener = _ref.listener,
3338
+ _ref$when = _ref.when,
3339
+ when = _ref$when === void 0 ? true : _ref$when;
3289
3340
  return useEventListener({
3290
3341
  target: 'window',
3291
3342
  type: 'resize',
3292
- listener: listener
3343
+ listener: listener,
3344
+ when: when
3293
3345
  });
3294
3346
  };
3295
3347
 
@@ -4222,10 +4274,10 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
4222
4274
  hideEvents = _getEvents.hideEvents;
4223
4275
  var currentTarget = getTarget(target);
4224
4276
  showEvents.forEach(function (event) {
4225
- return currentTarget.addEventListener(event, show);
4277
+ return currentTarget === null || currentTarget === void 0 ? void 0 : currentTarget.addEventListener(event, show);
4226
4278
  });
4227
4279
  hideEvents.forEach(function (event) {
4228
- return currentTarget.addEventListener(event, hide);
4280
+ return currentTarget === null || currentTarget === void 0 ? void 0 : currentTarget.addEventListener(event, hide);
4229
4281
  });
4230
4282
  }
4231
4283
  };
@@ -4236,10 +4288,10 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
4236
4288
  hideEvents = _getEvents2.hideEvents;
4237
4289
  var currentTarget = getTarget(target);
4238
4290
  showEvents.forEach(function (event) {
4239
- return currentTarget.removeEventListener(event, show);
4291
+ return currentTarget === null || currentTarget === void 0 ? void 0 : currentTarget.removeEventListener(event, show);
4240
4292
  });
4241
4293
  hideEvents.forEach(function (event) {
4242
- return currentTarget.removeEventListener(event, hide);
4294
+ return currentTarget === null || currentTarget === void 0 ? void 0 : currentTarget.removeEventListener(event, hide);
4243
4295
  });
4244
4296
  }
4245
4297
  };
@@ -4273,6 +4325,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
4273
4325
  if (isShowOnDisabled(target)) {
4274
4326
  if (!target.hasWrapper) {
4275
4327
  var wrapper = document.createElement('span');
4328
+ DomHandler.addClass(wrapper, 'p-tooltip-target-wrapper');
4276
4329
  target.parentNode.insertBefore(wrapper, target);
4277
4330
  wrapper.appendChild(target);
4278
4331
  target.hasWrapper = true;
@@ -4495,6 +4548,11 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
4495
4548
  var showTooltip = !disabled || props.tooltipOptions && props.tooltipOptions.showOnDisabled;
4496
4549
  var hasTooltip = ObjectUtils.isNotEmpty(props.tooltip) && showTooltip;
4497
4550
  var otherProps = ButtonBase.getOtherProps(props);
4551
+ var sizeMapping = {
4552
+ large: 'lg',
4553
+ small: 'sm'
4554
+ };
4555
+ var size = sizeMapping[props.size];
4498
4556
  var className = classNames('p-button p-component', props.className, (_classNames2 = {
4499
4557
  'p-button-icon-only': (props.icon || props.loading && props.loadingIcon) && !props.label && !props.children,
4500
4558
  'p-button-vertical': (props.iconPos === 'top' || props.iconPos === 'bottom') && props.label,
@@ -4506,7 +4564,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
4506
4564
  'p-button-text': props.text,
4507
4565
  'p-button-rounded': props.rounded,
4508
4566
  'p-button-loading-label-only': props.loading && !props.icon && props.label
4509
- }, _defineProperty(_classNames2, "p-button-loading-".concat(props.iconPos), props.loading && props.loadingIcon && props.label), _defineProperty(_classNames2, "p-button-".concat(props.size), props.size), _defineProperty(_classNames2, "p-button-".concat(props.severity), props.severity), _classNames2));
4567
+ }, _defineProperty(_classNames2, "p-button-loading-".concat(props.iconPos), props.loading && props.loadingIcon && props.label), _defineProperty(_classNames2, "p-button-".concat(size), size), _defineProperty(_classNames2, "p-button-".concat(props.severity), props.severity), _classNames2));
4510
4568
  var icon = createIcon();
4511
4569
  var label = createLabel();
4512
4570
  var badge = createBadge();
@@ -4738,14 +4796,18 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
4738
4796
  id: null,
4739
4797
  style: null,
4740
4798
  className: null,
4799
+ tabIndex: 0,
4741
4800
  items: null,
4742
4801
  itemSize: 0,
4743
4802
  scrollHeight: null,
4744
4803
  scrollWidth: null,
4745
4804
  orientation: 'vertical',
4805
+ step: 0,
4746
4806
  numToleratedItems: null,
4747
4807
  delay: 0,
4748
4808
  resizeDelay: 10,
4809
+ appendOnly: false,
4810
+ inline: false,
4749
4811
  lazy: false,
4750
4812
  disabled: false,
4751
4813
  loaderDisabled: false,
@@ -4775,6 +4837,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
4775
4837
  function _objectSpread$v(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$v(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$v(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4776
4838
  var VirtualScroller = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.forwardRef(function (inProps, ref) {
4777
4839
  var props = VirtualScrollerBase.getProps(inProps);
4840
+ var prevProps = usePrevious(inProps) || {};
4778
4841
  var vertical = props.orientation === 'vertical';
4779
4842
  var horizontal = props.orientation === 'horizontal';
4780
4843
  var both = props.orientation === 'both';
@@ -4792,25 +4855,29 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
4792
4855
  _React$useState4 = _slicedToArray(_React$useState3, 2),
4793
4856
  lastState = _React$useState4[0],
4794
4857
  setLastState = _React$useState4[1];
4795
- var _React$useState5 = React__namespace.useState(both ? {
4858
+ var _React$useState5 = React__namespace.useState(0),
4859
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
4860
+ pageState = _React$useState6[0],
4861
+ setPageState = _React$useState6[1];
4862
+ var _React$useState7 = React__namespace.useState(both ? {
4796
4863
  rows: 0,
4797
4864
  cols: 0
4798
4865
  } : 0),
4799
- _React$useState6 = _slicedToArray(_React$useState5, 2),
4800
- numItemsInViewportState = _React$useState6[0],
4801
- setNumItemsInViewportState = _React$useState6[1];
4802
- var _React$useState7 = React__namespace.useState(props.numToleratedItems),
4803
4866
  _React$useState8 = _slicedToArray(_React$useState7, 2),
4804
- numToleratedItemsState = _React$useState8[0],
4805
- setNumToleratedItemsState = _React$useState8[1];
4806
- var _React$useState9 = React__namespace.useState(props.loading || false),
4867
+ numItemsInViewportState = _React$useState8[0],
4868
+ setNumItemsInViewportState = _React$useState8[1];
4869
+ var _React$useState9 = React__namespace.useState(props.numToleratedItems),
4807
4870
  _React$useState10 = _slicedToArray(_React$useState9, 2),
4808
- loadingState = _React$useState10[0],
4809
- setLoadingState = _React$useState10[1];
4810
- var _React$useState11 = React__namespace.useState([]),
4871
+ numToleratedItemsState = _React$useState10[0],
4872
+ setNumToleratedItemsState = _React$useState10[1];
4873
+ var _React$useState11 = React__namespace.useState(props.loading || false),
4811
4874
  _React$useState12 = _slicedToArray(_React$useState11, 2),
4812
- loaderArrState = _React$useState12[0],
4813
- setLoaderArrState = _React$useState12[1];
4875
+ loadingState = _React$useState12[0],
4876
+ setLoadingState = _React$useState12[1];
4877
+ var _React$useState13 = React__namespace.useState([]),
4878
+ _React$useState14 = _slicedToArray(_React$useState13, 2),
4879
+ loaderArrState = _React$useState14[0],
4880
+ setLoaderArrState = _React$useState14[1];
4814
4881
  var elementRef = React__namespace.useRef(null);
4815
4882
  var _contentRef = React__namespace.useRef(null);
4816
4883
  var _spacerRef = React__namespace.useRef(null);
@@ -4821,14 +4888,19 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
4821
4888
  } : 0);
4822
4889
  var scrollTimeout = React__namespace.useRef(null);
4823
4890
  var resizeTimeout = React__namespace.useRef(null);
4891
+ var contentStyle = React__namespace.useRef({});
4892
+ var spacerStyle = React__namespace.useRef({});
4824
4893
  var defaultWidth = React__namespace.useRef(null);
4825
4894
  var defaultHeight = React__namespace.useRef(null);
4826
- var prevItems = usePrevious(props.items);
4827
- var prevLoading = usePrevious(props.loading);
4895
+ var defaultContentWidth = React__namespace.useRef(null);
4896
+ var defaultContentHeight = React__namespace.useRef(null);
4897
+ var isItemRangeChanged = React__namespace.useRef(false);
4898
+ var lazyLoadState = React__namespace.useRef(null);
4828
4899
  var _useResizeListener = useResizeListener({
4829
4900
  listener: function listener(event) {
4830
4901
  return onResize();
4831
- }
4902
+ },
4903
+ when: !props.disabled
4832
4904
  }),
4833
4905
  _useResizeListener2 = _slicedToArray(_useResizeListener, 1),
4834
4906
  bindWindowResizeListener = _useResizeListener2[0];
@@ -4837,13 +4909,23 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
4837
4909
  type: 'orientationchange',
4838
4910
  listener: function listener(event) {
4839
4911
  return onResize();
4840
- }
4912
+ },
4913
+ when: !props.disabled
4841
4914
  }),
4842
4915
  _useEventListener2 = _slicedToArray(_useEventListener, 1),
4843
4916
  bindOrientationChangeListener = _useEventListener2[0];
4844
4917
  var getElementRef = function getElementRef() {
4845
4918
  return elementRef;
4846
4919
  };
4920
+ var getPageByFirst = function getPageByFirst(first) {
4921
+ return Math.floor((first + numToleratedItemsState * 4) / (props.step || 1));
4922
+ };
4923
+ var setContentElement = function setContentElement(element) {
4924
+ _contentRef.current = element || _contentRef.current || DomHandler.findSingle(elementRef.current, '.p-virtualscroller-content');
4925
+ };
4926
+ var isPageChanged = function isPageChanged(first) {
4927
+ return props.step ? pageState !== getPageByFirst(first) : true;
4928
+ };
4847
4929
  var scrollTo = function scrollTo(options) {
4848
4930
  lastScrollPos.current = both ? {
4849
4931
  top: 0,
@@ -4855,13 +4937,14 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
4855
4937
  var behavior = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'auto';
4856
4938
  var _calculateNumItems = calculateNumItems(),
4857
4939
  numToleratedItems = _calculateNumItems.numToleratedItems;
4940
+ var contentPos = getContentPosition();
4858
4941
  var calculateFirst = function calculateFirst() {
4859
4942
  var _index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
4860
4943
  var _numT = arguments.length > 1 ? arguments[1] : undefined;
4861
4944
  return _index <= _numT ? 0 : _index;
4862
4945
  };
4863
- var calculateCoord = function calculateCoord(_first, _size) {
4864
- return _first * _size;
4946
+ var calculateCoord = function calculateCoord(_first, _size, _cpos) {
4947
+ return _first * _size + _cpos;
4865
4948
  };
4866
4949
  var scrollToItem = function scrollToItem() {
4867
4950
  var left = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
@@ -4872,20 +4955,25 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
4872
4955
  behavior: behavior
4873
4956
  });
4874
4957
  };
4958
+ var newFirst = both ? {
4959
+ rows: 0,
4960
+ cols: 0
4961
+ } : 0;
4962
+ var isRangeChanged = false;
4875
4963
  if (both) {
4876
- var newFirst = {
4964
+ newFirst = {
4877
4965
  rows: calculateFirst(index[0], numToleratedItems[0]),
4878
4966
  cols: calculateFirst(index[1], numToleratedItems[1])
4879
4967
  };
4880
- if (newFirst.rows !== firstState.rows || newFirst.cols !== firstState.cols) {
4881
- scrollToItem(calculateCoord(newFirst.cols, props.itemSize[1]), calculateCoord(newFirst.rows, props.itemSize[0]));
4882
- }
4968
+ scrollToItem(calculateCoord(newFirst.cols, props.itemSize[1], contentPos.left), calculateCoord(newFirst.rows, props.itemSize[0], contentPos.top));
4969
+ isRangeChanged = firstState.rows !== newFirst.rows || firstState.cols !== newFirst.cols;
4883
4970
  } else {
4884
- var _newFirst = calculateFirst(index, numToleratedItems);
4885
- if (_newFirst !== firstState) {
4886
- horizontal ? scrollToItem(calculateCoord(_newFirst, props.itemSize), 0) : scrollToItem(0, calculateCoord(_newFirst, props.itemSize));
4887
- }
4971
+ newFirst = calculateFirst(index, numToleratedItems);
4972
+ horizontal ? scrollToItem(calculateCoord(newFirst, props.itemSize, contentPos.left), 0) : scrollToItem(0, calculateCoord(newFirst, props.itemSize, contentPos.top));
4973
+ isRangeChanged = firstState !== newFirst;
4888
4974
  }
4975
+ isItemRangeChanged.current = isRangeChanged;
4976
+ setFirstState(newFirst);
4889
4977
  };
4890
4978
  var scrollInView = function scrollInView(index, to) {
4891
4979
  var behavior = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'auto';
@@ -5002,7 +5090,8 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
5002
5090
  var _calculateNumItems2 = calculateNumItems(),
5003
5091
  numItemsInViewport = _calculateNumItems2.numItemsInViewport,
5004
5092
  numToleratedItems = _calculateNumItems2.numToleratedItems;
5005
- var calculateLast = function calculateLast(_first, _num, _numT, _isCols) {
5093
+ var calculateLast = function calculateLast(_first, _num, _numT) {
5094
+ var _isCols = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
5006
5095
  return getLast(_first + _num + (_first < _numT ? 2 : 3) * _numT, _isCols);
5007
5096
  };
5008
5097
  var last = both ? {
@@ -5024,9 +5113,15 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
5024
5113
  }));
5025
5114
  }
5026
5115
  if (props.lazy) {
5027
- props.onLazyLoad && props.onLazyLoad({
5028
- first: firstState,
5029
- last: last
5116
+ Promise.resolve().then(function () {
5117
+ lazyLoadState.current = {
5118
+ first: props.step ? both ? {
5119
+ rows: 0,
5120
+ cols: firstState.cols
5121
+ } : 0 : firstState,
5122
+ last: Math.min(props.step ? props.step : last, props.items.length)
5123
+ };
5124
+ props.onLazyLoad && props.onLazyLoad(lazyLoadState.current);
5030
5125
  });
5031
5126
  }
5032
5127
  };
@@ -5035,12 +5130,21 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
5035
5130
  Promise.resolve().then(function () {
5036
5131
  if (_contentRef.current) {
5037
5132
  _contentRef.current.style.minHeight = _contentRef.current.style.minWidth = 'auto';
5038
- var _contentRef$current = _contentRef.current,
5039
- offsetWidth = _contentRef$current.offsetWidth,
5040
- offsetHeight = _contentRef$current.offsetHeight;
5041
- (both || horizontal) && (elementRef.current.style.width = (offsetWidth < defaultWidth.current ? offsetWidth : defaultWidth.current) + 'px');
5042
- (both || vertical) && (elementRef.current.style.height = (offsetHeight < defaultHeight.current ? offsetHeight : defaultHeight.current) + 'px');
5133
+ _contentRef.current.style.position = 'relative';
5134
+ elementRef.current.style.contain = 'none';
5135
+
5136
+ /*const [contentWidth, contentHeight] = [DomHandler.getWidth(contentRef.current), DomHandler.getHeight(contentRef.current)];
5137
+ contentWidth !== defaultContentWidth.current && (elementRef.current.style.width = '');
5138
+ contentHeight !== defaultContentHeight.current && (elementRef.current.style.height = '');*/
5139
+
5140
+ var _ref = [DomHandler.getWidth(elementRef.current), DomHandler.getHeight(elementRef.current)],
5141
+ width = _ref[0],
5142
+ height = _ref[1];
5143
+ (both || horizontal) && (elementRef.current.style.width = (width < defaultWidth.current ? width : props.scrollWidth || defaultWidth.current) + 'px');
5144
+ (both || vertical) && (elementRef.current.style.height = (height < defaultHeight.current ? height : props.scrollHeight || defaultHeight.current) + 'px');
5043
5145
  _contentRef.current.style.minHeight = _contentRef.current.style.minWidth = '';
5146
+ _contentRef.current.style.position = '';
5147
+ elementRef.current.style.contain = '';
5044
5148
  }
5045
5149
  });
5046
5150
  }
@@ -5053,10 +5157,10 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
5053
5157
  var getContentPosition = function getContentPosition() {
5054
5158
  if (_contentRef.current) {
5055
5159
  var style = getComputedStyle(_contentRef.current);
5056
- var left = parseInt(style.paddingLeft, 10) + Math.max(parseInt(style.left, 10), 0);
5057
- var right = parseInt(style.paddingRight, 10) + Math.max(parseInt(style.right, 10), 0);
5058
- var top = parseInt(style.paddingTop, 10) + Math.max(parseInt(style.top, 10), 0);
5059
- var bottom = parseInt(style.paddingBottom, 10) + Math.max(parseInt(style.bottom, 10), 0);
5160
+ var left = parseFloat(style.paddingLeft) + Math.max(parseFloat(style.left) || 0, 0);
5161
+ var right = parseFloat(style.paddingRight) + Math.max(parseFloat(style.right) || 0, 0);
5162
+ var top = parseFloat(style.paddingTop) + Math.max(parseFloat(style.top) || 0, 0);
5163
+ var bottom = parseFloat(style.paddingBottom) + Math.max(parseFloat(style.bottom) || 0, 0);
5060
5164
  return {
5061
5165
  left: left,
5062
5166
  right: right,
@@ -5093,11 +5197,11 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
5093
5197
  };
5094
5198
  var setSpacerSize = function setSpacerSize() {
5095
5199
  var items = props.items;
5096
- if (_spacerRef.current && items) {
5200
+ if (items) {
5097
5201
  var contentPos = getContentPosition();
5098
5202
  var setProp = function setProp(_name, _value, _size) {
5099
5203
  var _cpos = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
5100
- return _spacerRef.current.style[_name] = (_value || []).length * _size + _cpos + 'px';
5204
+ return spacerStyle.current = _objectSpread$v(_objectSpread$v({}, spacerStyle.current), _defineProperty({}, "".concat(_name), (_value || []).length * _size + _cpos + 'px'));
5101
5205
  };
5102
5206
  if (both) {
5103
5207
  setProp('height', items, props.itemSize[0], contentPos.y);
@@ -5108,7 +5212,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
5108
5212
  }
5109
5213
  };
5110
5214
  var setContentPosition = function setContentPosition(pos) {
5111
- if (_contentRef.current) {
5215
+ if (_contentRef.current && !props.appendOnly) {
5112
5216
  var first = pos ? pos.first : firstState;
5113
5217
  var calculateTranslateVal = function calculateTranslateVal(_first, _size) {
5114
5218
  return _first * _size;
@@ -5117,7 +5221,9 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
5117
5221
  var _x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
5118
5222
  var _y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
5119
5223
  _stickyRef.current && (_stickyRef.current.style.top = "-".concat(_y, "px"));
5120
- _contentRef.current.style.transform = "translate3d(".concat(_x, "px, ").concat(_y, "px, 0)");
5224
+ contentStyle.current = _objectSpread$v(_objectSpread$v({}, contentStyle.current), {
5225
+ transform: "translate3d(".concat(_x, "px, ").concat(_y, "px, 0)")
5226
+ });
5121
5227
  };
5122
5228
  if (both) {
5123
5229
  setTransform(calculateTranslateVal(first.cols, props.itemSize[1]), calculateTranslateVal(first.rows, props.itemSize[0]));
@@ -5161,36 +5267,40 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
5161
5267
  if (both) {
5162
5268
  var isScrollDown = lastScrollPos.current.top <= scrollTop;
5163
5269
  var isScrollRight = lastScrollPos.current.left <= scrollLeft;
5164
- var currentIndex = {
5165
- rows: calculateCurrentIndex(scrollTop, props.itemSize[0]),
5166
- cols: calculateCurrentIndex(scrollLeft, props.itemSize[1])
5167
- };
5168
- var triggerIndex = {
5169
- rows: calculateTriggerIndex(currentIndex.rows, firstState.rows, lastState.rows, numItemsInViewportState.rows, numToleratedItemsState[0], isScrollDown),
5170
- cols: calculateTriggerIndex(currentIndex.cols, firstState.cols, lastState.cols, numItemsInViewportState.cols, numToleratedItemsState[1], isScrollRight)
5171
- };
5172
- newFirst = {
5173
- rows: calculateFirst(currentIndex.rows, triggerIndex.rows, firstState.rows, lastState.rows, numItemsInViewportState.rows, numToleratedItemsState[0], isScrollDown),
5174
- cols: calculateFirst(currentIndex.cols, triggerIndex.cols, firstState.cols, lastState.cols, numItemsInViewportState.cols, numToleratedItemsState[1], isScrollRight)
5175
- };
5176
- newLast = {
5177
- rows: calculateLast(currentIndex.rows, newFirst.rows, lastState.rows, numItemsInViewportState.rows, numToleratedItemsState[0]),
5178
- cols: calculateLast(currentIndex.cols, newFirst.cols, lastState.cols, numItemsInViewportState.cols, numToleratedItemsState[1], true)
5179
- };
5180
- isRangeChanged = newFirst.rows !== firstState.rows || newLast.rows !== lastState.rows || newFirst.cols !== firstState.cols || newLast.cols !== lastState.cols;
5181
- newScrollPos = {
5182
- top: scrollTop,
5183
- left: scrollLeft
5184
- };
5270
+ if (!props.appendOnly || props.appendOnly && (isScrollDown || isScrollRight)) {
5271
+ var currentIndex = {
5272
+ rows: calculateCurrentIndex(scrollTop, props.itemSize[0]),
5273
+ cols: calculateCurrentIndex(scrollLeft, props.itemSize[1])
5274
+ };
5275
+ var triggerIndex = {
5276
+ rows: calculateTriggerIndex(currentIndex.rows, firstState.rows, lastState.rows, numItemsInViewportState.rows, numToleratedItemsState[0], isScrollDown),
5277
+ cols: calculateTriggerIndex(currentIndex.cols, firstState.cols, lastState.cols, numItemsInViewportState.cols, numToleratedItemsState[1], isScrollRight)
5278
+ };
5279
+ newFirst = {
5280
+ rows: calculateFirst(currentIndex.rows, triggerIndex.rows, firstState.rows, lastState.rows, numItemsInViewportState.rows, numToleratedItemsState[0], isScrollDown),
5281
+ cols: calculateFirst(currentIndex.cols, triggerIndex.cols, firstState.cols, lastState.cols, numItemsInViewportState.cols, numToleratedItemsState[1], isScrollRight)
5282
+ };
5283
+ newLast = {
5284
+ rows: calculateLast(currentIndex.rows, newFirst.rows, lastState.rows, numItemsInViewportState.rows, numToleratedItemsState[0]),
5285
+ cols: calculateLast(currentIndex.cols, newFirst.cols, lastState.cols, numItemsInViewportState.cols, numToleratedItemsState[1], true)
5286
+ };
5287
+ isRangeChanged = newFirst.rows !== firstState.rows || newLast.rows !== lastState.rows || newFirst.cols !== firstState.cols || newLast.cols !== lastState.cols || isItemRangeChanged.current;
5288
+ newScrollPos = {
5289
+ top: scrollTop,
5290
+ left: scrollLeft
5291
+ };
5292
+ }
5185
5293
  } else {
5186
5294
  var scrollPos = horizontal ? scrollLeft : scrollTop;
5187
5295
  var isScrollDownOrRight = lastScrollPos.current <= scrollPos;
5188
- var _currentIndex2 = calculateCurrentIndex(scrollPos, props.itemSize);
5189
- var _triggerIndex2 = calculateTriggerIndex(_currentIndex2, firstState, lastState, numItemsInViewportState, numToleratedItemsState, isScrollDownOrRight);
5190
- newFirst = calculateFirst(_currentIndex2, _triggerIndex2, firstState, lastState, numItemsInViewportState, numToleratedItemsState, isScrollDownOrRight);
5191
- newLast = calculateLast(_currentIndex2, newFirst, lastState, numItemsInViewportState, numToleratedItemsState);
5192
- isRangeChanged = newFirst !== firstState || newLast !== lastState;
5193
- newScrollPos = scrollPos;
5296
+ if (!props.appendOnly || props.appendOnly && isScrollDownOrRight) {
5297
+ var _currentIndex2 = calculateCurrentIndex(scrollPos, props.itemSize);
5298
+ var _triggerIndex2 = calculateTriggerIndex(_currentIndex2, firstState, lastState, numItemsInViewportState, numToleratedItemsState, isScrollDownOrRight);
5299
+ newFirst = calculateFirst(_currentIndex2, _triggerIndex2, firstState, lastState, numItemsInViewportState, numToleratedItemsState, isScrollDownOrRight);
5300
+ newLast = calculateLast(_currentIndex2, newFirst, lastState, numItemsInViewportState, numToleratedItemsState);
5301
+ isRangeChanged = newFirst !== firstState || newLast !== lastState || isItemRangeChanged.current;
5302
+ newScrollPos = scrollPos;
5303
+ }
5194
5304
  }
5195
5305
  return {
5196
5306
  first: newFirst,
@@ -5215,8 +5325,14 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
5215
5325
  setLastState(last);
5216
5326
  lastScrollPos.current = scrollPos;
5217
5327
  props.onScrollIndexChange && props.onScrollIndexChange(newState);
5218
- if (props.lazy) {
5219
- props.onLazyLoad && props.onLazyLoad(newState);
5328
+ if (props.lazy && isPageChanged(first)) {
5329
+ var newLazyLoadState = {
5330
+ first: props.step ? Math.min(getPageByFirst(first) * props.step, props.items.length - props.step) : first,
5331
+ last: Math.min(props.step ? (getPageByFirst(first) + 1) * props.step : last, props.items.length)
5332
+ };
5333
+ var isLazyStateChanged = !lazyLoadState.current || lazyLoadState.current.first !== newLazyLoadState.first || lazyLoadState.current.last !== newLazyLoadState.last;
5334
+ isLazyStateChanged && props.onLazyLoad && props.onLazyLoad(newLazyLoadState);
5335
+ lazyLoadState.current = newLazyLoadState;
5220
5336
  }
5221
5337
  }
5222
5338
  };
@@ -5226,17 +5342,21 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
5226
5342
  if (scrollTimeout.current) {
5227
5343
  clearTimeout(scrollTimeout.current);
5228
5344
  }
5229
- if (!loadingState && props.showLoader) {
5230
- var _onScrollPositionChan2 = onScrollPositionChange(event),
5231
- changed = _onScrollPositionChan2.isRangeChanged;
5232
- changed && setLoadingState(true);
5345
+ if (isPageChanged(firstState)) {
5346
+ if (!loadingState && props.showLoader) {
5347
+ var _onScrollPositionChan2 = onScrollPositionChange(event),
5348
+ isRangeChanged = _onScrollPositionChan2.isRangeChanged;
5349
+ var changed = isRangeChanged || (props.step ? isPageChanged(firstState) : false);
5350
+ changed && setLoadingState(true);
5351
+ }
5352
+ scrollTimeout.current = setTimeout(function () {
5353
+ onScrollChange(event);
5354
+ if (loadingState && props.showLoader && (!props.lazy || props.loading === undefined)) {
5355
+ setLoadingState(false);
5356
+ setPageState(getPageByFirst(firstState));
5357
+ }
5358
+ }, props.delay);
5233
5359
  }
5234
- scrollTimeout.current = setTimeout(function () {
5235
- onScrollChange(event);
5236
- if (loadingState && props.showLoader && (!props.lazy || props.loading === undefined)) {
5237
- setLoadingState(false);
5238
- }
5239
- }, props.delay);
5240
5360
  } else {
5241
5361
  onScrollChange(event);
5242
5362
  }
@@ -5247,9 +5367,9 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
5247
5367
  }
5248
5368
  resizeTimeout.current = setTimeout(function () {
5249
5369
  if (elementRef.current) {
5250
- var _ref = [DomHandler.getWidth(elementRef.current), DomHandler.getHeight(elementRef.current)],
5251
- width = _ref[0],
5252
- height = _ref[1];
5370
+ var _ref2 = [DomHandler.getWidth(elementRef.current), DomHandler.getHeight(elementRef.current)],
5371
+ width = _ref2[0],
5372
+ height = _ref2[1];
5253
5373
  var isDiffWidth = width !== defaultWidth.current,
5254
5374
  isDiffHeight = height !== defaultHeight.current;
5255
5375
  var reinit = both ? isDiffWidth || isDiffHeight : horizontal ? isDiffWidth : vertical ? isDiffHeight : false;
@@ -5257,6 +5377,8 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
5257
5377
  setNumToleratedItemsState(props.numToleratedItems);
5258
5378
  defaultWidth.current = width;
5259
5379
  defaultHeight.current = height;
5380
+ defaultContentWidth.current = DomHandler.getWidth(_contentRef.current);
5381
+ defaultContentHeight.current = DomHandler.getHeight(_contentRef.current);
5260
5382
  }
5261
5383
  }
5262
5384
  }, props.resizeDelay);
@@ -5289,12 +5411,24 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
5289
5411
  var loadedItems = function loadedItems() {
5290
5412
  var items = props.items;
5291
5413
  if (items && !loadingState) {
5292
- if (both) return items.slice(firstState.rows, lastState.rows).map(function (item) {
5293
- return props.columns ? item : item.slice(firstState.cols, lastState.cols);
5294
- });else if (horizontal && props.columns) return items;else return items.slice(firstState, lastState);
5414
+ if (both) return items.slice(props.appendOnly ? 0 : firstState.rows, lastState.rows).map(function (item) {
5415
+ return props.columns ? item : item.slice(props.appendOnly ? 0 : firstState.cols, lastState.cols);
5416
+ });else if (horizontal && props.columns) return items;else return items.slice(props.appendOnly ? 0 : firstState, lastState);
5295
5417
  }
5296
5418
  return [];
5297
5419
  };
5420
+ var viewInit = function viewInit() {
5421
+ if (elementRef.current && DomHandler.isVisible(elementRef.current)) {
5422
+ setContentElement(_contentRef.current);
5423
+ init();
5424
+ bindWindowResizeListener();
5425
+ bindOrientationChangeListener();
5426
+ defaultWidth.current = DomHandler.getWidth(elementRef.current);
5427
+ defaultHeight.current = DomHandler.getHeight(elementRef.current);
5428
+ defaultContentWidth.current = DomHandler.getWidth(_contentRef.current);
5429
+ defaultContentHeight.current = DomHandler.getHeight(_contentRef.current);
5430
+ }
5431
+ };
5298
5432
  var init = function init() {
5299
5433
  if (!props.disabled) {
5300
5434
  setSize();
@@ -5303,17 +5437,11 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
5303
5437
  }
5304
5438
  };
5305
5439
  useMountEffect(function () {
5306
- if (!props.disabled) {
5307
- init();
5308
- bindWindowResizeListener();
5309
- bindOrientationChangeListener();
5310
- defaultWidth.current = DomHandler.getWidth(elementRef.current);
5311
- defaultHeight.current = DomHandler.getHeight(elementRef.current);
5312
- }
5440
+ viewInit();
5313
5441
  });
5314
5442
  useUpdateEffect(function () {
5315
5443
  init();
5316
- }, [props.itemSize, props.scrollHeight]);
5444
+ }, [props.itemSize, props.scrollHeight, props.scrollWidth]);
5317
5445
  useUpdateEffect(function () {
5318
5446
  if (props.numToleratedItems !== numToleratedItemsState) {
5319
5447
  setNumToleratedItemsState(props.numToleratedItems);
@@ -5325,11 +5453,11 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
5325
5453
  }
5326
5454
  }, [numToleratedItemsState]);
5327
5455
  useUpdateEffect(function () {
5328
- if (!prevItems || prevItems.length !== (props.items || []).length) {
5456
+ if (!prevProps.items || prevProps.items.length !== (props.items || []).length) {
5329
5457
  init();
5330
5458
  }
5331
5459
  var loading = loadingState;
5332
- if (props.lazy && prevLoading !== props.loading && props.loading !== loadingState) {
5460
+ if (props.lazy && prevProps.loading !== props.loading && props.loading !== loadingState) {
5333
5461
  setLoadingState(props.loading);
5334
5462
  loading = props.loading;
5335
5463
  }
@@ -5391,6 +5519,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
5391
5519
  if (props.showSpacer) {
5392
5520
  return /*#__PURE__*/React__namespace.createElement("div", {
5393
5521
  ref: _spacerRef,
5522
+ style: spacerStyle.current,
5394
5523
  className: "p-virtualscroller-spacer"
5395
5524
  });
5396
5525
  }
@@ -5414,11 +5543,14 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
5414
5543
  });
5415
5544
  var content = /*#__PURE__*/React__namespace.createElement("div", {
5416
5545
  ref: _contentRef,
5546
+ style: contentStyle.current,
5417
5547
  className: className
5418
5548
  }, items);
5419
5549
  if (props.contentTemplate) {
5420
5550
  var defaultOptions = {
5551
+ style: contentStyle.current,
5421
5552
  className: className,
5553
+ spacerStyle: spacerStyle.current,
5422
5554
  contentRef: function contentRef(el) {
5423
5555
  return _contentRef.current = ObjectUtils.getRefElement(el);
5424
5556
  },
@@ -5461,10 +5593,9 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
5461
5593
  } else {
5462
5594
  var otherProps = VirtualScrollerBase.getOtherProps(props);
5463
5595
  var className = classNames('p-virtualscroller', {
5464
- 'p-both-scroll': both,
5465
- 'p-virtualscroller-both': both,
5466
- 'p-virtualscroller-horizontal': horizontal,
5467
- 'p-horizontal-scroll': horizontal
5596
+ 'p-virtualscroller-inline': props.inline,
5597
+ 'p-virtualscroller-both p-both-scroll': both,
5598
+ 'p-virtualscroller-horizontal p-horizontal-scroll': horizontal
5468
5599
  }, props.className);
5469
5600
  var loader = createLoader();
5470
5601
  var _content = createContent();
@@ -5472,7 +5603,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
5472
5603
  return /*#__PURE__*/React__namespace.createElement("div", _extends({
5473
5604
  ref: elementRef,
5474
5605
  className: className,
5475
- tabIndex: 0,
5606
+ tabIndex: props.tabIndex,
5476
5607
  style: props.style
5477
5608
  }, otherProps, {
5478
5609
  onScroll: onScroll
@@ -5568,6 +5699,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
5568
5699
  var className = classNames('p-autocomplete-items', options.className);
5569
5700
  return /*#__PURE__*/React__namespace.createElement("ul", {
5570
5701
  ref: options.contentRef,
5702
+ style: options.style,
5571
5703
  className: className,
5572
5704
  role: "listbox",
5573
5705
  id: props.listId
@@ -6239,7 +6371,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
6239
6371
  imageFailed = _React$useState2[0],
6240
6372
  setImageFailed = _React$useState2[1];
6241
6373
  var createContent = function createContent() {
6242
- if (props.image && !imageFailed) {
6374
+ if (ObjectUtils.isNotEmpty(props.image) && !imageFailed) {
6243
6375
  return /*#__PURE__*/React__namespace.createElement("img", {
6244
6376
  src: props.image,
6245
6377
  alt: props.imageAlt,
@@ -6281,7 +6413,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
6281
6413
  });
6282
6414
  var otherProps = AvatarBase.getOtherProps(props);
6283
6415
  var containerClassName = classNames('p-avatar p-component', {
6284
- 'p-avatar-image': props.image !== null && !imageFailed,
6416
+ 'p-avatar-image': ObjectUtils.isNotEmpty(props.image) && !imageFailed,
6285
6417
  'p-avatar-circle': props.shape === 'circle',
6286
6418
  'p-avatar-lg': props.size === 'large',
6287
6419
  'p-avatar-xl': props.size === 'xlarge',
@@ -8854,7 +8986,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
8854
8986
  setValue(props.value);
8855
8987
  }
8856
8988
  return function () {
8857
- props.mask && unbindMaskEvents();
8989
+ props.mask && unbindMaskEvents && unbindMaskEvents();
8858
8990
  };
8859
8991
  });
8860
8992
  useUpdateEffect(function () {
@@ -9078,7 +9210,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
9078
9210
  }
9079
9211
  return _content2;
9080
9212
  }
9081
- var displayYear = props.inline ? metaYear : currentYear;
9213
+ var displayYear = props.numberOfMonths > 1 ? metaYear : currentYear;
9082
9214
  return currentView !== 'year' && /*#__PURE__*/React__namespace.createElement("button", {
9083
9215
  className: "p-datepicker-year p-link",
9084
9216
  onClick: switchToYearView,
@@ -13162,6 +13294,8 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
13162
13294
  global: false,
13163
13295
  autoZIndex: true,
13164
13296
  baseZIndex: 0,
13297
+ breakpoint: undefined,
13298
+ scrollHeight: '400px',
13165
13299
  appendTo: null,
13166
13300
  transitionOptions: null,
13167
13301
  onShow: null,
@@ -13187,7 +13321,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
13187
13321
  setActiveItemState(null);
13188
13322
  }
13189
13323
  var onItemMouseEnter = function onItemMouseEnter(event, item) {
13190
- if (item.disabled) {
13324
+ if (item.disabled || props.isMobileMode) {
13191
13325
  event.preventDefault();
13192
13326
  return;
13193
13327
  }
@@ -13207,26 +13341,31 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
13207
13341
  item: item
13208
13342
  });
13209
13343
  }
13344
+ if (props.isMobileMode && item.items) {
13345
+ if (activeItemState && item === activeItemState) setActiveItemState(null);else setActiveItemState(item);
13346
+ }
13210
13347
  if (!item.items) {
13211
13348
  props.onLeafClick(event);
13212
13349
  }
13213
13350
  };
13214
13351
  var position = function position() {
13215
- var parentItem = submenuRef.current.parentElement;
13216
- var containerOffset = DomHandler.getOffset(parentItem);
13217
- var viewport = DomHandler.getViewport();
13218
- var sublistWidth = submenuRef.current.offsetParent ? submenuRef.current.offsetWidth : DomHandler.getHiddenElementOuterWidth(submenuRef.current);
13219
- var itemOuterWidth = DomHandler.getOuterWidth(parentItem.children[0]);
13220
- var top = parseInt(containerOffset.top, 10) + submenuRef.current.offsetHeight - DomHandler.getWindowScrollTop();
13221
- if (top > viewport.height) {
13222
- submenuRef.current.style.top = viewport.height - top + 'px';
13223
- } else {
13224
- submenuRef.current.style.top = '0px';
13225
- }
13226
- if (parseInt(containerOffset.left, 10) + itemOuterWidth + sublistWidth > viewport.width - DomHandler.calculateScrollbarWidth()) {
13227
- submenuRef.current.style.left = -1 * sublistWidth + 'px';
13228
- } else {
13229
- submenuRef.current.style.left = itemOuterWidth + 'px';
13352
+ if (!props.isMobileMode) {
13353
+ var parentItem = submenuRef.current.parentElement;
13354
+ var containerOffset = DomHandler.getOffset(parentItem);
13355
+ var viewport = DomHandler.getViewport();
13356
+ var sublistWidth = submenuRef.current.offsetParent ? submenuRef.current.offsetWidth : DomHandler.getHiddenElementOuterWidth(submenuRef.current);
13357
+ var itemOuterWidth = DomHandler.getOuterWidth(parentItem.children[0]);
13358
+ var top = parseInt(containerOffset.top, 10) + submenuRef.current.offsetHeight - DomHandler.getWindowScrollTop();
13359
+ if (top > viewport.height) {
13360
+ submenuRef.current.style.top = viewport.height - top + 'px';
13361
+ } else {
13362
+ submenuRef.current.style.top = '0px';
13363
+ }
13364
+ if (parseInt(containerOffset.left, 10) + itemOuterWidth + sublistWidth > viewport.width - DomHandler.calculateScrollbarWidth()) {
13365
+ submenuRef.current.style.left = -1 * sublistWidth + 'px';
13366
+ } else {
13367
+ submenuRef.current.style.left = itemOuterWidth + 'px';
13368
+ }
13230
13369
  }
13231
13370
  };
13232
13371
  var onEnter = function onEnter() {
@@ -13248,7 +13387,8 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
13248
13387
  menuProps: props.menuProps,
13249
13388
  model: item.items,
13250
13389
  resetMenu: item !== activeItemState,
13251
- onLeafClick: props.onLeafClick
13390
+ onLeafClick: props.onLeafClick,
13391
+ isMobileMode: props.isMobileMode
13252
13392
  });
13253
13393
  }
13254
13394
  return null;
@@ -13357,8 +13497,14 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
13357
13497
  _React$useState6 = _slicedToArray(_React$useState5, 2),
13358
13498
  resetMenuState = _React$useState6[0],
13359
13499
  setResetMenuState = _React$useState6[1];
13500
+ var _React$useState7 = React__namespace.useState(null),
13501
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
13502
+ attributeSelectorState = _React$useState8[0],
13503
+ setAttributeSelectorState = _React$useState8[1];
13360
13504
  var menuRef = React__namespace.useRef(null);
13361
13505
  var currentEvent = React__namespace.useRef(null);
13506
+ var styleElementRef = React__namespace.useRef(null);
13507
+ var isMobileMode = useMatchMedia("screen and (max-width: ".concat(props.breakpoint, ")"), !!props.breakpoint);
13362
13508
  var _useEventListener = useEventListener({
13363
13509
  type: 'click',
13364
13510
  listener: function listener(event) {
@@ -13389,6 +13535,17 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
13389
13535
  _useResizeListener2 = _slicedToArray(_useResizeListener, 2),
13390
13536
  bindDocumentResizeListener = _useResizeListener2[0],
13391
13537
  unbindDocumentResizeListener = _useResizeListener2[1];
13538
+ var createStyle = function createStyle() {
13539
+ if (!styleElementRef.current) {
13540
+ styleElementRef.current = DomHandler.createInlineStyle(PrimeReact.nonce);
13541
+ var selector = "".concat(attributeSelectorState);
13542
+ var innerHTML = "\n@media screen and (max-width: ".concat(props.breakpoint, ") {\n .p-contextmenu[").concat(selector, "] > ul {\n max-height: ").concat(props.scrollHeight, ";\n overflow: ").concat(props.scrollHeight ? 'auto' : '', ";\n }\n\n .p-contextmenu[").concat(selector, "] .p-submenu-list {\n position: relative;\n }\n\n .p-contextmenu[").concat(selector, "] .p-menuitem-active > .p-submenu-list {\n left: 0 !important;\n box-shadow: none;\n border-radius: 0;\n padding: 0 0 0 calc(var(--inline-spacing) * 2); /* @todo */\n }\n\n .p-contextmenu[").concat(selector, "] .p-menuitem-active > .p-menuitem-link > .p-submenu-icon {\n transform: rotate(-180deg);\n }\n\n .p-contextmenu[").concat(selector, "] .p-submenu-icon:before {\n content: \"\\e930\";\n }\n}\n");
13543
+ styleElementRef.current.innerHTML = innerHTML;
13544
+ }
13545
+ };
13546
+ var destroyStyle = function destroyStyle() {
13547
+ styleElementRef.current = DomHandler.removeInlineStyle(styleElementRef.current);
13548
+ };
13392
13549
  var onMenuClick = function onMenuClick() {
13393
13550
  setResetMenuState(false);
13394
13551
  };
@@ -13417,6 +13574,10 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
13417
13574
  ZIndexUtils.set('menu', menuRef.current, PrimeReact.autoZIndex, props.baseZIndex || PrimeReact.zIndex['menu']);
13418
13575
  }
13419
13576
  position(currentEvent.current);
13577
+ if (attributeSelectorState && props.breakpoint) {
13578
+ menuRef.current.setAttribute(attributeSelectorState, '');
13579
+ createStyle();
13580
+ }
13420
13581
  };
13421
13582
  var onEntered = function onEntered() {
13422
13583
  bindDocumentListeners();
@@ -13427,6 +13588,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
13427
13588
  };
13428
13589
  var onExited = function onExited() {
13429
13590
  ZIndexUtils.clear(menuRef.current);
13591
+ destroyStyle();
13430
13592
  };
13431
13593
  var position = function position(event) {
13432
13594
  if (event) {
@@ -13479,7 +13641,19 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
13479
13641
  if (props.global) {
13480
13642
  bindDocumentContextMenuListener();
13481
13643
  }
13644
+ if (props.breakpoint) {
13645
+ !attributeSelectorState && setAttributeSelectorState(UniqueComponentId());
13646
+ }
13482
13647
  });
13648
+ useUpdateEffect(function () {
13649
+ if (attributeSelectorState && menuRef.current) {
13650
+ menuRef.current.setAttribute(attributeSelectorState, '');
13651
+ createStyle();
13652
+ }
13653
+ return function () {
13654
+ destroyStyle();
13655
+ };
13656
+ }, [attributeSelectorState, props.breakpoint]);
13483
13657
  useUpdateEffect(function () {
13484
13658
  if (visibleState) {
13485
13659
  setVisibleState(false);
@@ -13535,7 +13709,8 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
13535
13709
  model: props.model,
13536
13710
  root: true,
13537
13711
  resetMenu: resetMenuState,
13538
- onLeafClick: onLeafClick
13712
+ onLeafClick: onLeafClick,
13713
+ isMobileMode: isMobileMode
13539
13714
  })));
13540
13715
  };
13541
13716
  var element = createContextMenu();
@@ -15496,6 +15671,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
15496
15671
  var content = isEmptyFilter ? createEmptyMessage() : options.children;
15497
15672
  return /*#__PURE__*/React__namespace.createElement("ul", {
15498
15673
  ref: options.contentRef,
15674
+ style: options.style,
15499
15675
  className: className,
15500
15676
  role: "listbox"
15501
15677
  }, content);
@@ -16313,7 +16489,6 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
16313
16489
  var Paginator = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.forwardRef(function (inProps, ref) {
16314
16490
  var props = PaginatorBase.getProps(inProps);
16315
16491
  var elementRef = React__namespace.useRef(null);
16316
- var rppChanged = React__namespace.useRef(false);
16317
16492
  var page = Math.floor(props.first / props.rows);
16318
16493
  var pageCount = Math.ceil(props.totalRecords / props.rows);
16319
16494
  var isFirstPage = page === 0;
@@ -16378,7 +16553,6 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
16378
16553
  };
16379
16554
  var onRowsChange = function onRowsChange(event) {
16380
16555
  var rows = event.value;
16381
- rppChanged.current = rows !== props.rows;
16382
16556
  changePage(0, rows);
16383
16557
  };
16384
16558
  React__namespace.useImperativeHandle(ref, function () {
@@ -16389,12 +16563,6 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
16389
16563
  }
16390
16564
  };
16391
16565
  });
16392
- useUpdateEffect(function () {
16393
- if (!rppChanged.current) {
16394
- changePage(props.first, props.rows);
16395
- }
16396
- rppChanged.current = false;
16397
- }, [props.rows]);
16398
16566
  useUpdateEffect(function () {
16399
16567
  if (page > 0 && props.first >= props.totalRecords) {
16400
16568
  changePage((pageCount - 1) * props.rows, props.rows);
@@ -16536,7 +16704,6 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
16536
16704
  defaultProps: {
16537
16705
  __TYPE: 'DataTable',
16538
16706
  alwaysShowPaginator: true,
16539
- autoLayout: false,
16540
16707
  breakpoint: '960px',
16541
16708
  cellClassName: null,
16542
16709
  cellSelection: false,
@@ -16628,7 +16795,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
16628
16795
  reorderableColumns: false,
16629
16796
  reorderableRows: false,
16630
16797
  resizableColumns: false,
16631
- responsiveLayout: 'stack',
16798
+ responsiveLayout: 'scroll',
16632
16799
  rowClassName: null,
16633
16800
  rowEditValidator: null,
16634
16801
  rowExpansionTemplate: null,
@@ -16638,7 +16805,6 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
16638
16805
  rowHover: false,
16639
16806
  rows: null,
16640
16807
  rowsPerPageOptions: null,
16641
- scrollDirection: 'vertical',
16642
16808
  scrollHeight: null,
16643
16809
  scrollable: false,
16644
16810
  selectAll: false,
@@ -17492,7 +17658,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
17492
17658
  return props.compareSelectionBy === 'equals' ? data1 === data2 : ObjectUtils.equals(data1, data2, props.dataKey);
17493
17659
  };
17494
17660
  var getTabIndex = function getTabIndex() {
17495
- return isFocusable() && !props.allowCellSelection ? props.index === 0 ? props.tabIndex : -1 : null;
17661
+ return isFocusable() && !props.allowCellSelection ? props.rowIndex === 0 ? props.tabIndex : -1 : null;
17496
17662
  };
17497
17663
  var findIndex = function findIndex(collection, rowData) {
17498
17664
  return (collection || []).findIndex(function (data) {
@@ -17549,35 +17715,35 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
17549
17715
  props.onRowClick({
17550
17716
  originalEvent: event,
17551
17717
  data: props.rowData,
17552
- index: props.index
17718
+ index: props.rowIndex
17553
17719
  });
17554
17720
  };
17555
17721
  var onDoubleClick = function onDoubleClick(event) {
17556
17722
  props.onRowDoubleClick({
17557
17723
  originalEvent: event,
17558
17724
  data: props.rowData,
17559
- index: props.index
17725
+ index: props.rowIndex
17560
17726
  });
17561
17727
  };
17562
17728
  var onRightClick = function onRightClick(event) {
17563
17729
  props.onRowRightClick({
17564
17730
  originalEvent: event,
17565
17731
  data: props.rowData,
17566
- index: props.index
17732
+ index: props.rowIndex
17567
17733
  });
17568
17734
  };
17569
17735
  var onMouseEnter = function onMouseEnter(event) {
17570
17736
  props.onRowMouseEnter({
17571
17737
  originalEvent: event,
17572
17738
  data: props.rowData,
17573
- index: props.index
17739
+ index: props.rowIndex
17574
17740
  });
17575
17741
  };
17576
17742
  var onMouseLeave = function onMouseLeave(event) {
17577
17743
  props.onRowMouseLeave({
17578
17744
  originalEvent: event,
17579
17745
  data: props.rowData,
17580
- index: props.index
17746
+ index: props.rowIndex
17581
17747
  });
17582
17748
  };
17583
17749
  var onTouchEnd = function onTouchEnd(event) {
@@ -17631,49 +17797,49 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
17631
17797
  props.onRowMouseDown({
17632
17798
  originalEvent: event,
17633
17799
  data: props.rowData,
17634
- index: props.index
17800
+ index: props.rowIndex
17635
17801
  });
17636
17802
  };
17637
17803
  var onMouseUp = function onMouseUp(event) {
17638
17804
  props.onRowMouseUp({
17639
17805
  originalEvent: event,
17640
17806
  data: props.rowData,
17641
- index: props.index
17807
+ index: props.rowIndex
17642
17808
  });
17643
17809
  };
17644
17810
  var onDragStart = function onDragStart(event) {
17645
17811
  props.onRowDragStart({
17646
17812
  originalEvent: event,
17647
17813
  data: props.rowData,
17648
- index: props.index
17814
+ index: props.rowIndex
17649
17815
  });
17650
17816
  };
17651
17817
  var onDragOver = function onDragOver(event) {
17652
17818
  props.onRowDragOver({
17653
17819
  originalEvent: event,
17654
17820
  data: props.rowData,
17655
- index: props.index
17821
+ index: props.rowIndex
17656
17822
  });
17657
17823
  };
17658
17824
  var onDragLeave = function onDragLeave(event) {
17659
17825
  props.onRowDragLeave({
17660
17826
  originalEvent: event,
17661
17827
  data: props.rowData,
17662
- index: props.index
17828
+ index: props.rowIndex
17663
17829
  });
17664
17830
  };
17665
17831
  var onDragEnd = function onDragEnd(event) {
17666
17832
  props.onRowDragEnd({
17667
17833
  originalEvent: event,
17668
17834
  data: props.rowData,
17669
- index: props.index
17835
+ index: props.rowIndex
17670
17836
  });
17671
17837
  };
17672
17838
  var onDrop = function onDrop(event) {
17673
17839
  props.onRowDrop({
17674
17840
  originalEvent: event,
17675
17841
  data: props.rowData,
17676
- index: props.index
17842
+ index: props.rowIndex
17677
17843
  });
17678
17844
  };
17679
17845
  var onEditChange = function onEditChange(e, isEditing) {
@@ -17717,7 +17883,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
17717
17883
  props.onRowEditInit({
17718
17884
  originalEvent: event,
17719
17885
  data: props.rowData,
17720
- index: props.index
17886
+ index: props.rowIndex
17721
17887
  });
17722
17888
  }
17723
17889
  onEditChange(e, true);
@@ -17733,7 +17899,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
17733
17899
  props.onRowEditSave({
17734
17900
  originalEvent: event,
17735
17901
  data: props.rowData,
17736
- index: props.index,
17902
+ index: props.rowIndex,
17737
17903
  valid: valid
17738
17904
  });
17739
17905
  }
@@ -17751,7 +17917,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
17751
17917
  props.onRowEditCancel({
17752
17918
  originalEvent: event,
17753
17919
  data: props.rowData,
17754
- index: props.index
17920
+ index: props.rowIndex
17755
17921
  });
17756
17922
  }
17757
17923
  onEditChange(e, false);
@@ -17769,7 +17935,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
17769
17935
  tableSelector: props.tableSelector,
17770
17936
  column: col,
17771
17937
  rowData: props.rowData,
17772
- rowIndex: props.index,
17938
+ rowIndex: props.rowIndex,
17773
17939
  index: i,
17774
17940
  rowSpan: rowSpan,
17775
17941
  dataKey: props.dataKey,
@@ -17816,9 +17982,9 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
17816
17982
  'p-highlight-contextmenu': props.contextMenuSelected,
17817
17983
  'p-selectable-row': props.allowRowSelection && props.isSelectable({
17818
17984
  data: props.rowData,
17819
- index: props.index
17985
+ index: props.rowIndex
17820
17986
  }),
17821
- 'p-row-odd': props.index % 2 !== 0
17987
+ 'p-row-odd': props.rowIndex % 2 !== 0
17822
17988
  });
17823
17989
  var style = {
17824
17990
  height: props.virtualScrollerOptions ? props.virtualScrollerOptions.itemSize : undefined
@@ -17893,7 +18059,6 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
17893
18059
  var rowDragging = React__namespace.useRef(false);
17894
18060
  var draggedRowIndex = React__namespace.useRef(null);
17895
18061
  var droppedRowIndex = React__namespace.useRef(null);
17896
- var prevVirtualScrollerOptions = usePrevious(props.virtualScrollerOptions);
17897
18062
  var isSubheaderGrouping = props.rowGroupMode && props.rowGroupMode === 'subheader';
17898
18063
  var isRadioSelectionMode = props.selectionMode === 'radiobutton';
17899
18064
  var isCheckboxSelectionMode = props.selectionMode === 'checkbox';
@@ -18043,10 +18208,6 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
18043
18208
  });
18044
18209
  }
18045
18210
  };
18046
- var updateVirtualScrollerPosition = function updateVirtualScrollerPosition() {
18047
- var tableHeaderHeight = DomHandler.getOuterHeight(elementRef.current.previousElementSibling);
18048
- elementRef.current.style.top = (elementRef.current.style.top || 0) + tableHeaderHeight + 'px';
18049
- };
18050
18211
  var onSingleSelection = function onSingleSelection(_ref) {
18051
18212
  var originalEvent = _ref.originalEvent,
18052
18213
  data = _ref.data,
@@ -18600,16 +18761,6 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
18600
18761
  updateFrozenRowGroupHeaderStickyPosition();
18601
18762
  }
18602
18763
  });
18603
- useMountEffect(function () {
18604
- if (!props.isVirtualScrollerDisabled && getVirtualScrollerOption('vertical')) {
18605
- updateVirtualScrollerPosition();
18606
- }
18607
- });
18608
- useUpdateEffect(function () {
18609
- if (!props.isVirtualScrollerDisabled && getVirtualScrollerOption('vertical') && getVirtualScrollerOption('itemSize', prevVirtualScrollerOptions) !== getVirtualScrollerOption('itemSize')) {
18610
- updateVirtualScrollerPosition();
18611
- }
18612
- }, [props.virtualScrollerOptions]);
18613
18764
  useUpdateEffect(function () {
18614
18765
  if (props.paginator && isMultipleSelection()) {
18615
18766
  anchorRowIndex.current = null;
@@ -18637,9 +18788,8 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
18637
18788
  }
18638
18789
  return null;
18639
18790
  };
18640
- var createGroupHeader = function createGroupHeader(rowData, index, expanded, colSpan) {
18641
- if (isSubheaderGrouping && shouldRenderRowGroupHeader(props.value, rowData, index - props.first)) {
18642
- var _options;
18791
+ var createGroupHeader = function createGroupHeader(rowData, rowIndex, expanded, colSpan) {
18792
+ if (isSubheaderGrouping && shouldRenderRowGroupHeader(props.value, rowData, rowIndex - props.first)) {
18643
18793
  var style = rowGroupHeaderStyle();
18644
18794
  var toggler = props.expandableRowGroups && /*#__PURE__*/React__namespace.createElement(RowTogglerButton, {
18645
18795
  onClick: onRowToggle,
@@ -18648,9 +18798,11 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
18648
18798
  expandedRowIcon: props.expandedRowIcon,
18649
18799
  collapsedRowIcon: props.collapsedRowIcon
18650
18800
  });
18651
- var options = (_options = {
18652
- index: index
18653
- }, _defineProperty(_options, "index", index), _defineProperty(_options, "props", props.tableProps), _defineProperty(_options, "customRendering", false), _options);
18801
+ var options = {
18802
+ index: rowIndex,
18803
+ props: props.tableProps,
18804
+ customRendering: false
18805
+ };
18654
18806
  var _content2 = ObjectUtils.getJSXElement(props.rowGroupHeaderTemplate, rowData, options);
18655
18807
 
18656
18808
  // check if the user wants complete control of the rendering
@@ -18669,7 +18821,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
18669
18821
  }
18670
18822
  return null;
18671
18823
  };
18672
- var createRow = function createRow(rowData, index, expanded) {
18824
+ var createRow = function createRow(rowData, rowIndex, index, expanded) {
18673
18825
  if (!props.expandableRowGroups || expanded) {
18674
18826
  var selected = isSelectionEnabled() ? isSelected(rowData) : false;
18675
18827
  var contextMenuSelected = isContextMenuSelected(rowData);
@@ -18682,6 +18834,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
18682
18834
  value: props.value,
18683
18835
  columns: props.columns,
18684
18836
  rowData: rowData,
18837
+ rowIndex: rowIndex,
18685
18838
  index: index,
18686
18839
  selected: selected,
18687
18840
  contextMenuSelected: contextMenuSelected,
@@ -18740,11 +18893,11 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
18740
18893
  });
18741
18894
  }
18742
18895
  };
18743
- var createExpansion = function createExpansion(rowData, index, expanded, colSpan) {
18896
+ var createExpansion = function createExpansion(rowData, rowIndex, expanded, colSpan) {
18744
18897
  if (expanded && !(isSubheaderGrouping && props.expandableRowGroups)) {
18745
- var id = "".concat(props.tableSelector, "_content_").concat(index, "_expanded");
18898
+ var id = "".concat(props.tableSelector, "_content_").concat(rowIndex, "_expanded");
18746
18899
  var options = {
18747
- index: index,
18900
+ index: rowIndex,
18748
18901
  customRendering: false
18749
18902
  };
18750
18903
  var _content3 = ObjectUtils.getJSXElement(props.rowExpansionTemplate, rowData, options);
@@ -18764,10 +18917,10 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
18764
18917
  }
18765
18918
  return null;
18766
18919
  };
18767
- var createGroupFooter = function createGroupFooter(rowData, index, expanded, colSpan) {
18768
- if (isSubheaderGrouping && shouldRenderRowGroupFooter(props.value, rowData, index - props.first, expanded)) {
18920
+ var createGroupFooter = function createGroupFooter(rowData, rowIndex, expanded, colSpan) {
18921
+ if (isSubheaderGrouping && shouldRenderRowGroupFooter(props.value, rowData, rowIndex - props.first, expanded)) {
18769
18922
  var _content4 = ObjectUtils.getJSXElement(props.rowGroupFooterTemplate, rowData, {
18770
- index: index,
18923
+ index: rowIndex,
18771
18924
  colSpan: colSpan,
18772
18925
  props: props.tableProps
18773
18926
  });
@@ -18779,25 +18932,25 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
18779
18932
  return null;
18780
18933
  };
18781
18934
  var createContent = function createContent() {
18782
- return props.value.map(function (rowData, i) {
18783
- var index = getVirtualScrollerOption('getItemOptions') ? getVirtualScrollerOption('getItemOptions')(i).index : props.first + i;
18784
- var key = getRowKey(rowData, index);
18935
+ return props.value && props.value.map(function (rowData, index) {
18936
+ var rowIndex = getVirtualScrollerOption('getItemOptions') ? getVirtualScrollerOption('getItemOptions')(index).index : props.first + index;
18937
+ var key = getRowKey(rowData, rowIndex);
18785
18938
  var expanded = isRowExpanded(rowData);
18786
18939
  var colSpan = getColumnsLength();
18787
- var groupHeader = createGroupHeader(rowData, index, expanded, colSpan);
18788
- var row = createRow(rowData, index, expanded);
18789
- var expansion = createExpansion(rowData, index, expanded, colSpan);
18790
- var groupFooter = createGroupFooter(rowData, index, expanded, colSpan);
18940
+ var groupHeader = createGroupHeader(rowData, rowIndex, expanded, colSpan);
18941
+ var row = createRow(rowData, rowIndex, index, expanded);
18942
+ var expansion = createExpansion(rowData, rowIndex, expanded, colSpan);
18943
+ var groupFooter = createGroupFooter(rowData, rowIndex, expanded, colSpan);
18791
18944
  return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, {
18792
18945
  key: key
18793
18946
  }, groupHeader, row, expansion, groupFooter);
18794
18947
  });
18795
18948
  };
18796
- var className = classNames('p-datatable-tbody', props.className);
18797
18949
  var content = props.empty ? createEmptyContent() : createContent();
18798
18950
  return /*#__PURE__*/React__namespace.createElement("tbody", {
18799
18951
  ref: refCallback,
18800
- className: className
18952
+ style: props.style,
18953
+ className: props.className
18801
18954
  }, content);
18802
18955
  }));
18803
18956
  TableBody.displayName = 'TableBody';
@@ -20488,9 +20641,10 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
20488
20641
  if (ObjectUtils.isNotEmpty(widths)) {
20489
20642
  createStyleElement();
20490
20643
  var innerHTML = '';
20644
+ var selector = ".p-datatable[".concat(attributeSelectorState, "] > .p-datatable-wrapper ").concat(isVirtualScrollerDisabled() ? '' : '> .p-virtualscroller', " > .p-datatable-table");
20491
20645
  widths.forEach(function (width, index) {
20492
- var style = props.scrollable ? "flex: 1 1 ".concat(width, "px !important") : "width: ".concat(width, "px !important");
20493
- innerHTML += "\n .p-datatable[".concat(attributeSelectorState, "] .p-datatable-thead > tr > th:nth-child(").concat(index + 1, "),\n .p-datatable[").concat(attributeSelectorState, "] .p-datatable-tbody > tr > td:nth-child(").concat(index + 1, "),\n .p-datatable[").concat(attributeSelectorState, "] .p-datatable-tfoot > tr > td:nth-child(").concat(index + 1, ") {\n ").concat(style, "\n }\n ");
20646
+ var style = "width: ".concat(width, "px !important; max-width: ").concat(width, "px !important");
20647
+ innerHTML += "\n ".concat(selector, " > .p-datatable-thead > tr > th:nth-child(").concat(index + 1, "),\n ").concat(selector, " > .p-datatable-tbody > tr > td:nth-child(").concat(index + 1, "),\n ").concat(selector, " > .p-datatable-tfoot > tr > td:nth-child(").concat(index + 1, ") {\n ").concat(style, "\n }\n ");
20494
20648
  });
20495
20649
  styleElement.current.innerHTML = innerHTML;
20496
20650
  }
@@ -20658,10 +20812,11 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
20658
20812
  destroyStyleElement();
20659
20813
  createStyleElement();
20660
20814
  var innerHTML = '';
20815
+ var selector = ".p-datatable[".concat(attributeSelectorState, "] > .p-datatable-wrapper ").concat(isVirtualScrollerDisabled() ? '' : '> .p-virtualscroller', " > .p-datatable-table");
20661
20816
  widths.forEach(function (width, index) {
20662
20817
  var colWidth = index === colIndex ? newColumnWidth : nextColumnWidth && index === colIndex + 1 ? nextColumnWidth : width;
20663
- var style = props.scrollable ? "flex: 1 1 ".concat(colWidth, "px !important") : "width: ".concat(colWidth, "px !important");
20664
- innerHTML += "\n .p-datatable[".concat(attributeSelectorState, "] .p-datatable-thead > tr > th:nth-child(").concat(index + 1, "),\n .p-datatable[").concat(attributeSelectorState, "] .p-datatable-tbody > tr > td:nth-child(").concat(index + 1, "),\n .p-datatable[").concat(attributeSelectorState, "] .p-datatable-tfoot > tr > td:nth-child(").concat(index + 1, ") {\n ").concat(style, "\n }\n ");
20818
+ var style = "width: ".concat(colWidth, "px !important; max-width: ").concat(colWidth, "px !important");
20819
+ innerHTML += "\n ".concat(selector, " > .p-datatable-thead > tr > th:nth-child(").concat(index + 1, "),\n ").concat(selector, " > .p-datatable-tbody > tr > td:nth-child(").concat(index + 1, "),\n ").concat(selector, " > .p-datatable-tfoot > tr > td:nth-child(").concat(index + 1, ") {\n ").concat(style, "\n }\n ");
20665
20820
  });
20666
20821
  styleElement.current.innerHTML = innerHTML;
20667
20822
  };
@@ -20824,7 +20979,10 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
20824
20979
  var createResponsiveStyle = function createResponsiveStyle() {
20825
20980
  if (!responsiveStyleElement.current) {
20826
20981
  responsiveStyleElement.current = DomHandler.createInlineStyle(PrimeReact.nonce);
20827
- var innerHTML = "\n@media screen and (max-width: ".concat(props.breakpoint, ") {\n .p-datatable[").concat(attributeSelectorState, "] .p-datatable-thead > tr > th,\n .p-datatable[").concat(attributeSelectorState, "] .p-datatable-tfoot > tr > td {\n display: none !important;\n }\n\n .p-datatable[").concat(attributeSelectorState, "] .p-datatable-tbody > tr > td {\n display: flex;\n width: 100% !important;\n align-items: center;\n justify-content: space-between;\n }\n\n .p-datatable[").concat(attributeSelectorState, "] .p-datatable-tbody > tr > td:not(:last-child) {\n border: 0 none;\n }\n\n .p-datatable[").concat(attributeSelectorState, "].p-datatable-gridlines .p-datatable-tbody > tr > td:last-child {\n border-top: 0;\n border-right: 0;\n border-left: 0;\n }\n\n .p-datatable[").concat(attributeSelectorState, "] .p-datatable-tbody > tr > td > .p-column-title {\n display: block;\n }\n}\n");
20982
+ var tableSelector = ".p-datatable-wrapper ".concat(isVirtualScrollerDisabled() ? '' : '> .p-virtualscroller', " > .p-datatable-table");
20983
+ var selector = ".p-datatable[".concat(attributeSelectorState, "] > ").concat(tableSelector);
20984
+ var gridLinesSelector = ".p-datatable[".concat(attributeSelectorState, "].p-datatable-gridlines > ").concat(tableSelector);
20985
+ var innerHTML = "\n@media screen and (max-width: ".concat(props.breakpoint, ") {\n ").concat(selector, " > .p-datatable-thead > tr > th,\n ").concat(selector, " > .p-datatable-tfoot > tr > td {\n display: none !important;\n }\n\n ").concat(selector, " > .p-datatable-tbody > tr > td {\n display: flex;\n width: 100% !important;\n align-items: center;\n justify-content: space-between;\n }\n\n ").concat(selector, " > .p-datatable-tbody > tr > td:not(:last-child) {\n border: 0 none;\n }\n\n ").concat(gridLinesSelector, " > .p-datatable-tbody > tr > td:last-child {\n border-top: 0;\n border-right: 0;\n border-left: 0;\n }\n\n ").concat(selector, " > .p-datatable-tbody > tr > td > .p-column-title {\n display: block;\n }\n}\n");
20828
20986
  responsiveStyleElement.current.innerHTML = innerHTML;
20829
20987
  }
20830
20988
  };
@@ -21301,7 +21459,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
21301
21459
  return data;
21302
21460
  };
21303
21461
  useMountEffect(function () {
21304
- setAttributeSelectorState(UniqueComponentId());
21462
+ !attributeSelectorState && setAttributeSelectorState(UniqueComponentId());
21305
21463
  setFiltersState(cloneFilters(props.filters));
21306
21464
  setD_filtersState(cloneFilters(props.filters));
21307
21465
  if (isStateful()) {
@@ -21312,11 +21470,16 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
21312
21470
  }
21313
21471
  });
21314
21472
  useUpdateEffect(function () {
21315
- elementRef.current.setAttribute(attributeSelectorState, '');
21316
- if (props.responsiveLayout === 'stack' && !props.scrollable) {
21317
- createResponsiveStyle();
21473
+ if (attributeSelectorState) {
21474
+ elementRef.current.setAttribute(attributeSelectorState, '');
21475
+ if (props.responsiveLayout === 'stack' && !props.scrollable) {
21476
+ createResponsiveStyle();
21477
+ }
21318
21478
  }
21319
- }, [attributeSelectorState]);
21479
+ return function () {
21480
+ destroyResponsiveStyle();
21481
+ };
21482
+ }, [attributeSelectorState, props.breakpoint]);
21320
21483
  useUpdateEffect(function () {
21321
21484
  var filters = cloneFilters(props.filters);
21322
21485
  setFiltersState(filters);
@@ -21398,7 +21561,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
21398
21561
  }
21399
21562
  return null;
21400
21563
  };
21401
- var createTableHeader = function createTableHeader(options, empty) {
21564
+ var createTableHeader = function createTableHeader(options, empty, _isVirtualScrollerDisabled) {
21402
21565
  var sortField = getSortField();
21403
21566
  var sortOrder = getSortOrder();
21404
21567
  var multiSortMeta = _toConsumableArray(getMultiSortMeta());
@@ -21406,9 +21569,11 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
21406
21569
  var filters = d_filtersState;
21407
21570
  var filtersStore = !props.onFilter && props.filters || getFilters();
21408
21571
  var processedData = options.items,
21572
+ virtualScrollerProps = options.props,
21409
21573
  columns = options.columns;
21574
+ var data = _isVirtualScrollerDisabled || virtualScrollerProps.lazy ? processedData : virtualScrollerProps.items;
21410
21575
  return /*#__PURE__*/React__namespace.createElement(TableHeader, {
21411
- value: processedData,
21576
+ value: data,
21412
21577
  tableProps: props,
21413
21578
  columns: columns,
21414
21579
  tabIndex: props.tabIndex,
@@ -21447,12 +21612,14 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
21447
21612
  var rows = options.rows,
21448
21613
  columns = options.columns,
21449
21614
  contentRef = options.contentRef,
21450
- className = options.className;
21451
- options.itemSize;
21615
+ style = options.style,
21616
+ className = options.className,
21617
+ spacerStyle = options.spacerStyle,
21618
+ itemSize = options.itemSize;
21452
21619
  var frozenBody = ObjectUtils.isNotEmpty(props.frozenValue) && /*#__PURE__*/React__namespace.createElement(TableBody, {
21453
21620
  ref: frozenBodyRef,
21454
21621
  value: props.frozenValue,
21455
- className: "p-datatable-frozen-tbody",
21622
+ className: "p-datatable-tbody p-datatable-frozen-tbody",
21456
21623
  frozenRow: true,
21457
21624
  tableProps: props,
21458
21625
  tableSelector: attributeSelectorState,
@@ -21523,7 +21690,8 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
21523
21690
  var body = /*#__PURE__*/React__namespace.createElement(TableBody, {
21524
21691
  ref: bodyRef,
21525
21692
  value: dataToRender(rows),
21526
- className: className,
21693
+ style: style,
21694
+ className: classNames('p-datatable-tbody', className),
21527
21695
  empty: empty,
21528
21696
  frozenRow: false,
21529
21697
  tableProps: props,
@@ -21593,7 +21761,13 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
21593
21761
  virtualScrollerOptions: options,
21594
21762
  isVirtualScrollerDisabled: isVirtualScrollerDisabled
21595
21763
  });
21596
- return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, frozenBody, body);
21764
+ var spacerBody = ObjectUtils.isNotEmpty(spacerStyle) ? /*#__PURE__*/React__namespace.createElement(TableBody, {
21765
+ style: {
21766
+ height: "calc(".concat(spacerStyle.height, " - ").concat(rows.length * itemSize, "px)")
21767
+ },
21768
+ className: "p-datatable-virtualscroller-spacer"
21769
+ }) : null;
21770
+ return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, frozenBody, body, spacerBody);
21597
21771
  };
21598
21772
  var createTableFooter = function createTableFooter(options) {
21599
21773
  var columns = options.columns;
@@ -21624,14 +21798,20 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
21624
21798
  scrollHeight: props.scrollHeight !== 'flex' ? undefined : '100%',
21625
21799
  disabled: _isVirtualScrollerDisabled,
21626
21800
  loaderDisabled: true,
21801
+ inline: true,
21802
+ autoSize: true,
21627
21803
  showSpacer: false,
21628
21804
  contentTemplate: function contentTemplate(options) {
21629
21805
  var ref = function ref(el) {
21630
21806
  tableRef.current = el;
21631
21807
  options.spacerRef && options.spacerRef(el);
21632
21808
  };
21633
- var tableClassName = classNames('p-datatable-table', props.tableClassName);
21634
- var tableHeader = createTableHeader(options, empty);
21809
+ var tableClassName = classNames('p-datatable-table', {
21810
+ 'p-datatable-scrollable-table': props.scrollable,
21811
+ 'p-datatable-resizable-table': props.resizableColumns,
21812
+ 'p-datatable-resizable-table-fit': props.resizableColumns && props.columnResizeMode === 'fit'
21813
+ }, props.tableClassName);
21814
+ var tableHeader = createTableHeader(options, empty, _isVirtualScrollerDisabled);
21635
21815
  var tableBody = createTableBody(options, selectionModeInColumn, empty, _isVirtualScrollerDisabled);
21636
21816
  var tableFooter = createTableFooter(options);
21637
21817
  return /*#__PURE__*/React__namespace.createElement("table", {
@@ -21725,13 +21905,9 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
21725
21905
  'p-datatable-hoverable-rows': props.rowHover,
21726
21906
  'p-datatable-selectable': selectable && !props.cellSelection,
21727
21907
  'p-datatable-selectable-cell': selectable && props.cellSelection,
21728
- 'p-datatable-auto-layout': props.autoLayout,
21729
21908
  'p-datatable-resizable': props.resizableColumns,
21730
21909
  'p-datatable-resizable-fit': props.resizableColumns && props.columnResizeMode === 'fit',
21731
21910
  'p-datatable-scrollable': props.scrollable,
21732
- 'p-datatable-scrollable-vertical': props.scrollable && props.scrollDirection === 'vertical',
21733
- 'p-datatable-scrollable-horizontal': props.scrollable && props.scrollDirection === 'horizontal',
21734
- 'p-datatable-scrollable-both': props.scrollable && props.scrollDirection === 'both',
21735
21911
  'p-datatable-flex-scrollable': props.scrollable && props.scrollHeight === 'flex',
21736
21912
  'p-datatable-responsive-stack': props.responsiveLayout === 'stack',
21737
21913
  'p-datatable-responsive-scroll': props.responsiveLayout === 'scroll',
@@ -26335,14 +26511,15 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
26335
26511
  itemTemplate: function itemTemplate(item, options) {
26336
26512
  return item && createItem(item, options.index, options);
26337
26513
  },
26338
- contentTemplate: function contentTemplate(option) {
26339
- var className = classNames('p-listbox-list', option.className);
26514
+ contentTemplate: function contentTemplate(options) {
26515
+ var className = classNames('p-listbox-list', options.className);
26340
26516
  return /*#__PURE__*/React__namespace.createElement("ul", _extends({
26341
- ref: option.contentRef,
26517
+ ref: options.contentRef,
26518
+ style: options.style,
26342
26519
  className: className,
26343
26520
  role: "listbox",
26344
26521
  "aria-multiselectable": props.multiple
26345
- }, ariaProps), option.children);
26522
+ }, ariaProps), options.children);
26346
26523
  }
26347
26524
  });
26348
26525
  return /*#__PURE__*/React__namespace.createElement(VirtualScroller, _extends({
@@ -26390,6 +26567,8 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
26390
26567
  style: null,
26391
26568
  className: null,
26392
26569
  orientation: 'horizontal',
26570
+ breakpoint: undefined,
26571
+ scrollHeight: '400px',
26393
26572
  start: null,
26394
26573
  end: null,
26395
26574
  children: undefined
@@ -26408,17 +26587,41 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
26408
26587
  _React$useState2 = _slicedToArray(_React$useState, 2),
26409
26588
  activeItemState = _React$useState2[0],
26410
26589
  setActiveItemState = _React$useState2[1];
26590
+ var _React$useState3 = React__namespace.useState(null),
26591
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
26592
+ attributeSelectorState = _React$useState4[0],
26593
+ setAttributeSelectorState = _React$useState4[1];
26594
+ var _React$useState5 = React__namespace.useState(false),
26595
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
26596
+ mobileActiveState = _React$useState6[0],
26597
+ setMobileActiveState = _React$useState6[1];
26411
26598
  var elementRef = React__namespace.useRef(null);
26599
+ var styleElementRef = React__namespace.useRef(null);
26600
+ var menuButtonRef = React__namespace.useRef(null);
26412
26601
  var horizontal = props.orientation === 'horizontal';
26413
26602
  var vertical = props.orientation === 'vertical';
26603
+ var isMobileMode = useMatchMedia("screen and (max-width: ".concat(props.breakpoint, ")"), !!props.breakpoint);
26414
26604
  var _useEventListener = useEventListener({
26415
26605
  type: 'click',
26416
26606
  listener: function listener(event) {
26417
- isOutsideClicked(event) && setActiveItemState(null);
26607
+ if ((!isMobileMode || mobileActiveState) && isOutsideClicked(event)) {
26608
+ setActiveItemState(null);
26609
+ setMobileActiveState(false);
26610
+ }
26418
26611
  }
26419
26612
  }),
26420
26613
  _useEventListener2 = _slicedToArray(_useEventListener, 1),
26421
26614
  bindDocumentClickListener = _useEventListener2[0];
26615
+ var _useResizeListener = useResizeListener({
26616
+ listener: function listener() {
26617
+ if (!isMobileMode || mobileActiveState) {
26618
+ setActiveItemState(null);
26619
+ setMobileActiveState(false);
26620
+ }
26621
+ }
26622
+ }),
26623
+ _useResizeListener2 = _slicedToArray(_useResizeListener, 1),
26624
+ bindDocumentResizeListener = _useResizeListener2[0];
26422
26625
  var onLeafClick = function onLeafClick(event, item) {
26423
26626
  if (item.disabled) {
26424
26627
  event.preventDefault();
@@ -26434,9 +26637,10 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
26434
26637
  });
26435
26638
  }
26436
26639
  setActiveItemState(null);
26640
+ setMobileActiveState(false);
26437
26641
  };
26438
26642
  var onCategoryMouseEnter = function onCategoryMouseEnter(event, item) {
26439
- if (item.disabled) {
26643
+ if (item.disabled || isMobileMode) {
26440
26644
  event.preventDefault();
26441
26645
  return;
26442
26646
  }
@@ -26499,6 +26703,13 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
26499
26703
  var collapseMenu = function collapseMenu(item) {
26500
26704
  setActiveItemState(null);
26501
26705
  };
26706
+ var toggle = function toggle(event) {
26707
+ event.preventDefault();
26708
+ setMobileActiveState(function (prevMobileActive) {
26709
+ return !prevMobileActive;
26710
+ });
26711
+ setActiveItemState(null);
26712
+ };
26502
26713
  var findNextItem = function findNextItem(item) {
26503
26714
  var nextItem = item.nextElementSibling;
26504
26715
  return nextItem ? DomHandler.hasClass(nextItem, 'p-disabled') || !DomHandler.hasClass(nextItem, 'p-menuitem') ? findNextItem(nextItem) : nextItem : null;
@@ -26516,7 +26727,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
26516
26727
  prevItem && prevItem.children[0].focus();
26517
26728
  };
26518
26729
  var isOutsideClicked = function isOutsideClicked(event) {
26519
- return elementRef.current && !(elementRef.current.isSameNode(event.target) || elementRef.current.contains(event.target));
26730
+ return elementRef.current && !(elementRef.current.isSameNode(event.target) || elementRef.current.contains(event.target) || menuButtonRef.current && menuButtonRef.current.contains(event.target));
26520
26731
  };
26521
26732
  var getColumnClassName = function getColumnClassName(category) {
26522
26733
  var length = category.items ? category.items.length : 0;
@@ -26549,13 +26760,23 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
26549
26760
  };
26550
26761
  });
26551
26762
  useMountEffect(function () {
26763
+ if (props.breakpoint) {
26764
+ !attributeSelectorState && setAttributeSelectorState(UniqueComponentId());
26765
+ }
26552
26766
  bindDocumentClickListener();
26767
+ bindDocumentResizeListener();
26553
26768
  });
26554
26769
  useUpdateEffect(function () {
26555
26770
  var currentPanel = DomHandler.findSingle(elementRef.current, '.p-menuitem-active > .p-megamenu-panel');
26556
- if (activeItemState) {
26771
+ if (activeItemState && !isMobileMode) {
26557
26772
  ZIndexUtils.set('menu', currentPanel, PrimeReact.autoZIndex, PrimeReact.zIndex['menu']);
26558
26773
  }
26774
+ if (isMobileMode) {
26775
+ currentPanel && currentPanel.previousElementSibling.scrollIntoView({
26776
+ block: 'nearest',
26777
+ inline: 'nearest'
26778
+ });
26779
+ }
26559
26780
  return function () {
26560
26781
  ZIndexUtils.clear(currentPanel);
26561
26782
  };
@@ -26634,6 +26855,9 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
26634
26855
  }
26635
26856
  };
26636
26857
  var createSubmenu = function createSubmenu(submenu) {
26858
+ if (submenu.visible === false) {
26859
+ return null;
26860
+ }
26637
26861
  var className = classNames('p-megamenu-submenu-header', {
26638
26862
  'p-disabled': submenu.disabled
26639
26863
  }, submenu.className);
@@ -26681,6 +26905,26 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
26681
26905
  }
26682
26906
  return null;
26683
26907
  };
26908
+ var createStyle = function createStyle() {
26909
+ if (!styleElementRef.current) {
26910
+ styleElementRef.current = DomHandler.createInlineStyle(PrimeReact.nonce);
26911
+ var selector = "".concat(attributeSelectorState);
26912
+ var innerHTML = "\n@media screen and (max-width: ".concat(props.breakpoint, ") {\n .p-megamenu[").concat(selector, "] > .p-megamenu-root-list .p-menuitem-active .p-megamenu-panel {\n position: relative;\n left: 0 !important;\n box-shadow: none;\n border-radius: 0;\n background: inherit;\n }\n\n .p-megamenu[").concat(selector, "] .p-menuitem-active > .p-menuitem-link > .p-submenu-icon {\n transform: rotate(-180deg);\n }\n\n .p-megamenu[").concat(selector, "] .p-megamenu-grid {\n flex-wrap: wrap;\n }\n\n ").concat(horizontal ? "\n.p-megamenu[".concat(selector, "] .p-megamenu-button {\n display: flex;\n}\n\n.p-megamenu[").concat(selector, "].p-megamenu-horizontal {\n position: relative;\n}\n\n.p-megamenu[").concat(selector, "].p-megamenu-horizontal .p-megamenu-root-list {\n display: none;\n}\n\n.p-megamenu-horizontal[").concat(selector, "] div[class*=\"p-megamenu-col-\"] {\n width: auto;\n flex: 1;\n padding: 0;\n}\n\n.p-megamenu[").concat(selector, "].p-megamenu-mobile-active .p-megamenu-root-list {\n display: flex;\n flex-direction: column;\n position: absolute;\n width: 100%;\n top: 100%;\n left: 0;\n z-index: 1;\n}\n ") : '', "\n\n ").concat(vertical ? "\n.p-megamenu-vertical[".concat(selector, "] {\n width: 100%;\n}\n\n.p-megamenu-vertical[").concat(selector, "] .p-megamenu-root-list {\n max-height: ").concat(props.scrollHeight, ";\n overflow: ").concat(props.scrollHeight ? 'auto' : '', ";\n}\n.p-megamenu-vertical[").concat(selector, "] div[class*=\"p-megamenu-col-\"] {\n width: 100%;\n padding: 0;\n}\n\n.p-megamenu-vertical[").concat(selector, "] .p-megamenu-submenu {\n width: 100%;\n}\n\n.p-megamenu-vertical[").concat(selector, "] div[class*=\"p-megamenu-col-\"] .p-megamenu-submenu-header {\n background: inherit;\n}\n\n.p-megamenu-vertical[").concat(selector, "] .p-submenu-icon:before {\n content: \"\\e930\";\n}\n ") : '', "\n}\n");
26913
+ styleElementRef.current.innerHTML = innerHTML;
26914
+ }
26915
+ };
26916
+ var destroyStyle = function destroyStyle() {
26917
+ styleElementRef.current = DomHandler.removeInlineStyle(styleElementRef.current);
26918
+ };
26919
+ useUpdateEffect(function () {
26920
+ if (attributeSelectorState && elementRef.current) {
26921
+ elementRef.current.setAttribute(attributeSelectorState, '');
26922
+ createStyle();
26923
+ }
26924
+ return function () {
26925
+ destroyStyle();
26926
+ };
26927
+ }, [attributeSelectorState, props.breakpoint]);
26684
26928
  var createCategory = function createCategory(category, index) {
26685
26929
  var className = classNames('p-menuitem', {
26686
26930
  'p-menuitem-active': category === activeItemState
@@ -26751,20 +26995,41 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
26751
26995
  }
26752
26996
  return null;
26753
26997
  };
26998
+ var createMenuButton = function createMenuButton() {
26999
+ if (props.orientation === 'vertical' || props.model && props.model.length < 1) {
27000
+ return null;
27001
+ }
27002
+ /* eslint-disable */
27003
+ var button = /*#__PURE__*/React__namespace.createElement("a", {
27004
+ ref: menuButtonRef,
27005
+ href: '#',
27006
+ role: "button",
27007
+ tabIndex: 0,
27008
+ className: "p-megamenu-button",
27009
+ onClick: toggle
27010
+ }, /*#__PURE__*/React__namespace.createElement("i", {
27011
+ className: "pi pi-bars"
27012
+ }));
27013
+ /* eslint-enable */
27014
+
27015
+ return button;
27016
+ };
26754
27017
  var otherProps = MegaMenuBase.getOtherProps(props);
26755
27018
  var className = classNames('p-megamenu p-component', {
26756
27019
  'p-megamenu-horizontal': props.orientation === 'horizontal',
26757
- 'p-megamenu-vertical': props.orientation === 'vertical'
27020
+ 'p-megamenu-vertical': props.orientation === 'vertical',
27021
+ 'p-megamenu-mobile-active': mobileActiveState
26758
27022
  }, props.className);
26759
27023
  var menu = createMenu();
26760
27024
  var start = createStartContent();
26761
27025
  var end = createEndContent();
27026
+ var menuButton = createMenuButton();
26762
27027
  return /*#__PURE__*/React__namespace.createElement("div", _extends({
26763
27028
  ref: elementRef,
26764
27029
  id: props.id,
26765
27030
  className: className,
26766
27031
  style: props.style
26767
- }, otherProps), start, menu, end);
27032
+ }, otherProps), start, menuButton, menu, end);
26768
27033
  }));
26769
27034
  MegaMenu.displayName = 'MegaMenu';
26770
27035
 
@@ -28193,7 +28458,8 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
28193
28458
  showSelectAll: props.showSelectAll,
28194
28459
  selectAll: props.isAllSelected(),
28195
28460
  onSelectAll: props.onSelectAll,
28196
- template: props.panelHeaderTemplate
28461
+ template: props.panelHeaderTemplate,
28462
+ resetFilter: props.resetFilter
28197
28463
  });
28198
28464
  };
28199
28465
  var createFooter = function createFooter() {
@@ -28300,6 +28566,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
28300
28566
  var content = isEmptyFilter() ? createEmptyFilter() : options.children;
28301
28567
  return /*#__PURE__*/React__namespace.createElement("ul", {
28302
28568
  ref: options.contentRef,
28569
+ style: options.style,
28303
28570
  className: className,
28304
28571
  role: "listbox",
28305
28572
  "aria-multiselectable": true
@@ -34039,6 +34306,12 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
34039
34306
  buttonProps: null,
34040
34307
  menuButtonProps: null,
34041
34308
  tabIndex: null,
34309
+ severity: null,
34310
+ rounded: false,
34311
+ raised: false,
34312
+ outlined: false,
34313
+ text: false,
34314
+ size: null,
34042
34315
  appendTo: null,
34043
34316
  tooltip: null,
34044
34317
  tooltipOptions: null,
@@ -34170,6 +34443,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
34170
34443
  SplitButtonPanel.displayName = 'SplitButtonPanel';
34171
34444
 
34172
34445
  var SplitButton = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.forwardRef(function (inProps, ref) {
34446
+ var _classNames;
34173
34447
  var props = SplitButtonBase.getProps(inProps);
34174
34448
  var _React$useState = React__namespace.useState(props.id),
34175
34449
  _React$useState2 = _slicedToArray(_React$useState, 2),
@@ -34266,9 +34540,15 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
34266
34540
  }
34267
34541
  var hasTooltip = ObjectUtils.isNotEmpty(props.tooltip);
34268
34542
  var otherProps = SplitButtonBase.getOtherProps(props);
34269
- var className = classNames('p-splitbutton p-component', props.className, {
34270
- 'p-disabled': props.disabled
34271
- });
34543
+ var sizeMapping = {
34544
+ large: 'lg',
34545
+ small: 'sm'
34546
+ };
34547
+ var size = sizeMapping[props.size];
34548
+ var className = classNames('p-splitbutton p-component', props.className, (_classNames = {
34549
+ 'p-disabled': props.disabled,
34550
+ 'p-button-loading-label-only': props.loading && !props.icon && props.label
34551
+ }, _defineProperty(_classNames, "p-button-".concat(props.severity), props.severity), _defineProperty(_classNames, 'p-button-raised', props.raised), _defineProperty(_classNames, 'p-button-rounded', props.rounded), _defineProperty(_classNames, 'p-button-text', props.text), _defineProperty(_classNames, 'p-button-outlined', props.outlined), _defineProperty(_classNames, "p-button-".concat(size), size), _classNames));
34272
34552
  var buttonClassName = classNames('p-splitbutton-defaultbutton', props.buttonClassName);
34273
34553
  var menuButtonClassName = classNames('p-splitbutton-menubutton', props.menuButtonClassName);
34274
34554
  var buttonContent = props.buttonTemplate ? ObjectUtils.getJSXElement(props.buttonTemplate, props) : null;
@@ -35749,6 +36029,8 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
35749
36029
  className: null,
35750
36030
  autoZIndex: true,
35751
36031
  baseZIndex: 0,
36032
+ breakpoint: undefined,
36033
+ scrollHeight: '400px',
35752
36034
  appendTo: null,
35753
36035
  transitionOptions: null,
35754
36036
  onShow: null,
@@ -35772,13 +36054,20 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
35772
36054
  var _useEventListener = useEventListener({
35773
36055
  type: 'click',
35774
36056
  listener: function listener(event) {
35775
- if (elementRef.current && !elementRef.current.contains(event.target)) {
36057
+ if (!props.isMobileMode && elementRef.current && !elementRef.current.contains(event.target)) {
35776
36058
  setActiveItemState(null);
35777
36059
  }
35778
36060
  }
35779
36061
  }),
35780
36062
  _useEventListener2 = _slicedToArray(_useEventListener, 1),
35781
36063
  bindDocumentClickListener = _useEventListener2[0];
36064
+ var _useResizeListener = useResizeListener({
36065
+ listener: function listener() {
36066
+ !props.isMobileMode && setActiveItemState(null);
36067
+ }
36068
+ }),
36069
+ _useResizeListener2 = _slicedToArray(_useResizeListener, 1),
36070
+ bindDocumentResizeListener = _useResizeListener2[0];
35782
36071
  var position = function position() {
35783
36072
  if (elementRef.current) {
35784
36073
  var parentItem = elementRef.current.parentElement;
@@ -35798,7 +36087,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
35798
36087
  }
35799
36088
  };
35800
36089
  var onItemMouseEnter = function onItemMouseEnter(event, item) {
35801
- if (item.disabled) {
36090
+ if (item.disabled || props.isMobileMode) {
35802
36091
  event.preventDefault();
35803
36092
  return;
35804
36093
  }
@@ -35824,7 +36113,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
35824
36113
  item: item
35825
36114
  });
35826
36115
  }
35827
- if (props.root) {
36116
+ if (props.root || props.isMobileMode) {
35828
36117
  if (item.items) {
35829
36118
  if (activeItemState && item === activeItemState) setActiveItemState(null);else setActiveItemState(item);
35830
36119
  }
@@ -35879,21 +36168,27 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
35879
36168
  return prevItem ? DomHandler.hasClass(prevItem, 'p-disabled') || !DomHandler.hasClass(prevItem, 'p-menuitem') ? findPrevItem(prevItem) : prevItem : null;
35880
36169
  };
35881
36170
  var onLeafClick = function onLeafClick(event) {
35882
- setActiveItemState(null);
35883
- props.onLeafClick && props.onLeafClick(event);
35884
- props.onHide && props.onHide(event);
36171
+ if (!props.isMobileMode || props.popup) {
36172
+ setActiveItemState(null);
36173
+ props.onLeafClick && props.onLeafClick(event);
36174
+ props.onHide && props.onHide(event);
36175
+ }
35885
36176
  };
35886
36177
  useMountEffect(function () {
35887
36178
  bindDocumentClickListener();
36179
+ bindDocumentResizeListener();
35888
36180
  });
35889
36181
  useUpdateEffect(function () {
35890
36182
  if (!props.parentActive) {
35891
36183
  setActiveItemState(null);
35892
36184
  }
35893
- if (!props.root && props.parentActive) {
36185
+ if (!props.root && props.parentActive && !props.isMobileMode) {
35894
36186
  position();
35895
36187
  }
35896
36188
  }, [props.parentActive]);
36189
+ useUpdateEffect(function () {
36190
+ props.onItemToggle && props.onItemToggle();
36191
+ }, [activeItemState]);
35897
36192
  var createSeparator = function createSeparator(index) {
35898
36193
  var key = 'separator_' + index;
35899
36194
  return /*#__PURE__*/React__namespace.createElement("li", {
@@ -35910,7 +36205,9 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
35910
36205
  onLeafClick: onLeafClick,
35911
36206
  popup: props.popup,
35912
36207
  onKeyDown: onChildItemKeyDown,
35913
- parentActive: item === activeItemState
36208
+ parentActive: item === activeItemState,
36209
+ isMobileMode: props.isMobileMode,
36210
+ onItemToggle: props.onItemToggle
35914
36211
  });
35915
36212
  }
35916
36213
  return null;
@@ -36020,8 +36317,14 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
36020
36317
  _React$useState2 = _slicedToArray(_React$useState, 2),
36021
36318
  visibleState = _React$useState2[0],
36022
36319
  setVisibleState = _React$useState2[1];
36320
+ var _React$useState3 = React__namespace.useState(null),
36321
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
36322
+ attributeSelectorState = _React$useState4[0],
36323
+ setAttributeSelectorState = _React$useState4[1];
36023
36324
  var menuRef = React__namespace.useRef(null);
36024
36325
  var targetRef = React__namespace.useRef(null);
36326
+ var styleElementRef = React__namespace.useRef(null);
36327
+ var isMobileMode = useMatchMedia("screen and (max-width: ".concat(props.breakpoint, ")"), !!props.breakpoint);
36025
36328
  var _useOverlayListener = useOverlayListener({
36026
36329
  target: targetRef,
36027
36330
  overlay: menuRef,
@@ -36059,11 +36362,31 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
36059
36362
  props.onHide && props.onHide(event);
36060
36363
  }
36061
36364
  };
36365
+ var onItemToggle = function onItemToggle() {
36366
+ if (props.popup && isMobileMode) {
36367
+ DomHandler.absolutePosition(menuRef.current, targetRef.current);
36368
+ }
36369
+ };
36370
+ var createStyle = function createStyle() {
36371
+ if (!styleElementRef.current) {
36372
+ styleElementRef.current = DomHandler.createInlineStyle(PrimeReact.nonce);
36373
+ var selector = "".concat(attributeSelectorState);
36374
+ var innerHTML = "\n@media screen and (max-width: ".concat(props.breakpoint, ") {\n .p-tieredmenu[").concat(selector, "] > ul {\n max-height: ").concat(props.scrollHeight, ";\n overflow: ").concat(props.scrollHeight ? 'auto' : '', ";\n }\n\n .p-tieredmenu[").concat(selector, "] .p-submenu-list {\n position: relative;\n }\n\n .p-tieredmenu[").concat(selector, "] .p-menuitem-active > .p-submenu-list {\n left: 0 !important;\n box-shadow: none;\n border-radius: 0;\n padding: 0 0 0 calc(var(--inline-spacing) * 2); /* @todo */\n }\n\n .p-tieredmenu[").concat(selector, "] .p-menuitem-active > .p-menuitem-link > .p-submenu-icon {\n transform: rotate(-180deg);\n }\n\n .p-tieredmenu[").concat(selector, "] .p-submenu-icon:before {\n content: \"\\e930\";\n }\n\n ").concat(!props.popup ? ".p-tieredmenu[".concat(selector, "] { width: 100%; }") : '', "\n}\n");
36375
+ styleElementRef.current.innerHTML = innerHTML;
36376
+ }
36377
+ };
36378
+ var destroyStyle = function destroyStyle() {
36379
+ styleElementRef.current = DomHandler.removeInlineStyle(styleElementRef.current);
36380
+ };
36062
36381
  var onEnter = function onEnter() {
36063
36382
  if (props.autoZIndex) {
36064
36383
  ZIndexUtils.set('menu', menuRef.current, PrimeReact.autoZIndex, props.baseZIndex || PrimeReact.zIndex['menu']);
36065
36384
  }
36066
36385
  DomHandler.absolutePosition(menuRef.current, targetRef.current);
36386
+ if (attributeSelectorState && props.breakpoint) {
36387
+ menuRef.current.setAttribute(attributeSelectorState, '');
36388
+ createStyle();
36389
+ }
36067
36390
  };
36068
36391
  var onEntered = function onEntered() {
36069
36392
  bindOverlayListener();
@@ -36074,7 +36397,22 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
36074
36397
  };
36075
36398
  var onExited = function onExited() {
36076
36399
  ZIndexUtils.clear(menuRef.current);
36400
+ destroyStyle();
36077
36401
  };
36402
+ useMountEffect(function () {
36403
+ if (props.breakpoint) {
36404
+ !attributeSelectorState && setAttributeSelectorState(UniqueComponentId());
36405
+ }
36406
+ });
36407
+ useUpdateEffect(function () {
36408
+ if (attributeSelectorState && menuRef.current) {
36409
+ menuRef.current.setAttribute(attributeSelectorState, '');
36410
+ createStyle();
36411
+ }
36412
+ return function () {
36413
+ destroyStyle();
36414
+ };
36415
+ }, [attributeSelectorState, props.breakpoint]);
36078
36416
  useUnmountEffect(function () {
36079
36417
  ZIndexUtils.clear(menuRef.current);
36080
36418
  });
@@ -36122,7 +36460,9 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
36122
36460
  model: props.model,
36123
36461
  root: true,
36124
36462
  popup: props.popup,
36125
- onHide: hide
36463
+ onHide: hide,
36464
+ isMobileMode: isMobileMode,
36465
+ onItemToggle: onItemToggle
36126
36466
  })));
36127
36467
  };
36128
36468
  var element = createElement();
@@ -38414,7 +38754,6 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
38414
38754
  defaultProps: {
38415
38755
  __TYPE: 'TreeTable',
38416
38756
  alwaysShowPaginator: true,
38417
- autoLayout: false,
38418
38757
  className: null,
38419
38758
  columnResizeMode: 'fit',
38420
38759
  contextMenuSelectionKey: null,
@@ -38929,14 +39268,14 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
38929
39268
  return null;
38930
39269
  }
38931
39270
  };
38932
- var createCell = function createCell(column) {
39271
+ var createCell = function createCell(column, index) {
38933
39272
  var toggler, checkbox;
38934
39273
  if (getColumnProp(column, 'expander')) {
38935
39274
  toggler = createToggler();
38936
39275
  checkbox = createCheckbox();
38937
39276
  }
38938
39277
  return /*#__PURE__*/React__namespace.createElement(TreeTableBodyCell, _extends({
38939
- key: getColumnProp(column, 'columnKey') || getColumnProp(column, 'field')
39278
+ key: "".concat(getColumnProp(column, 'columnKey') || getColumnProp(column, 'field'), "_").concat(index)
38940
39279
  }, ColumnBase.getCProps(column), {
38941
39280
  column: column,
38942
39281
  selectOnEdit: props.selectOnEdit,
@@ -38949,7 +39288,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
38949
39288
  if (expanded && props.node.children) {
38950
39289
  return props.node.children.map(function (childNode, index) {
38951
39290
  return /*#__PURE__*/React__namespace.createElement(TreeTableRow, {
38952
- key: childNode.key || JSON.stringify(childNode.data),
39291
+ key: "".concat(childNode.key || JSON.stringify(childNode.data), "_").concat(index),
38953
39292
  level: props.level + 1,
38954
39293
  rowIndex: props.rowIndex + '_' + index,
38955
39294
  node: childNode,
@@ -39154,7 +39493,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
39154
39493
  };
39155
39494
  var createRow = function createRow(node, index) {
39156
39495
  return /*#__PURE__*/React__namespace.createElement(TreeTableRow, {
39157
- key: node.key || JSON.stringify(node.data),
39496
+ key: "".concat(node.key || JSON.stringify(node.data), "_").concat(index),
39158
39497
  level: 0,
39159
39498
  rowIndex: index,
39160
39499
  selectOnEdit: props.selectOnEdit,
@@ -40554,7 +40893,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
40554
40893
  }
40555
40894
  scrollableView = createScrollableView(value, scrollableColumns, false, props.headerColumnGroup, props.footerColumnGroup);
40556
40895
  return /*#__PURE__*/React__namespace.createElement("div", {
40557
- className: "p-treetable-scrollable-wrapper"
40896
+ className: "p-treetable-wrapper p-treetable-scrollable-wrapper"
40558
40897
  }, frozenView, scrollableView);
40559
40898
  };
40560
40899
  var createRegularTable = function createRegularTable(value) {
@@ -40562,12 +40901,17 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
40562
40901
  var header = createTableHeader(columns, props.headerColumnGroup);
40563
40902
  var footer = createTableFooter(columns, props.footerColumnGroup);
40564
40903
  var body = createTableBody(value, columns);
40904
+ var tableClassName = classNames('p-treetable-table', {
40905
+ 'p-treetable-scrollable-table': props.scrollable,
40906
+ 'p-treetable-resizable-table': props.resizableColumns,
40907
+ 'p-treetable-resizable-table-fit': props.resizableColumns && props.columnResizeMode === 'fit'
40908
+ }, props.tableClassName);
40565
40909
  return /*#__PURE__*/React__namespace.createElement("div", {
40566
40910
  className: "p-treetable-wrapper"
40567
40911
  }, /*#__PURE__*/React__namespace.createElement("table", {
40568
40912
  ref: tableRef,
40569
40913
  style: props.tableStyle,
40570
- className: props.tableClassName
40914
+ className: tableClassName
40571
40915
  }, header, footer, body));
40572
40916
  };
40573
40917
  var createTable = function createTable(value) {
@@ -40593,7 +40937,6 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
40593
40937
  'p-treetable-selectable': isRowSelectionMode(),
40594
40938
  'p-treetable-resizable': props.resizableColumns,
40595
40939
  'p-treetable-resizable-fit': props.resizableColumns && props.columnResizeMode === 'fit',
40596
- 'p-treetable-auto-layout': props.autoLayout,
40597
40940
  'p-treetable-striped': props.stripedRows,
40598
40941
  'p-treetable-gridlines': props.showGridlines
40599
40942
  }, props.className);
@@ -40636,7 +40979,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
40636
40979
  id: props.id,
40637
40980
  className: className,
40638
40981
  style: props.style,
40639
- "data-scrollselectors": ".p-treetable-scrollable-body"
40982
+ "data-scrollselectors": ".p-treetable-wrapper"
40640
40983
  }, otherProps), loader, headerFacet, paginatorTop, table, paginatorBottom, footerFacet, resizeHelper, reorderIndicatorUp, reorderIndicatorDown);
40641
40984
  });
40642
40985
  TreeTable.displayName = 'TreeTable';
@@ -40897,6 +41240,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
40897
41240
  exports.useIntersectionObserver = useIntersectionObserver;
40898
41241
  exports.useInterval = useInterval;
40899
41242
  exports.useLocalStorage = useLocalStorage;
41243
+ exports.useMatchMedia = useMatchMedia;
40900
41244
  exports.useMountEffect = useMountEffect;
40901
41245
  exports.useMouse = useMouse;
40902
41246
  exports.useMove = useMove;