primereact 10.9.5 → 10.9.6

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 (120) hide show
  1. package/api/api.cjs.js +9 -1
  2. package/api/api.cjs.min.js +1 -1
  3. package/api/api.d.ts +5 -3
  4. package/api/api.esm.js +9 -1
  5. package/api/api.esm.min.js +1 -1
  6. package/api/api.js +9 -1
  7. package/api/api.min.js +1 -1
  8. package/autocomplete/autocomplete.d.ts +5 -5
  9. package/calendar/calendar.cjs.js +27 -5
  10. package/calendar/calendar.cjs.min.js +1 -1
  11. package/calendar/calendar.esm.js +27 -5
  12. package/calendar/calendar.esm.min.js +1 -1
  13. package/calendar/calendar.js +27 -5
  14. package/calendar/calendar.min.js +1 -1
  15. package/cascadeselect/cascadeselect.cjs.js +53 -3
  16. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  17. package/cascadeselect/cascadeselect.d.ts +13 -0
  18. package/cascadeselect/cascadeselect.esm.js +54 -4
  19. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  20. package/cascadeselect/cascadeselect.js +54 -5
  21. package/cascadeselect/cascadeselect.min.js +1 -1
  22. package/core/core.js +44 -10
  23. package/core/core.min.js +6 -6
  24. package/datatable/datatable.cjs.js +86 -58
  25. package/datatable/datatable.cjs.min.js +1 -1
  26. package/datatable/datatable.d.ts +79 -3
  27. package/datatable/datatable.esm.js +86 -58
  28. package/datatable/datatable.esm.min.js +1 -1
  29. package/datatable/datatable.js +86 -58
  30. package/datatable/datatable.min.js +1 -1
  31. package/dialog/dialog.cjs.js +3 -2
  32. package/dialog/dialog.cjs.min.js +1 -1
  33. package/dialog/dialog.d.ts +6 -1
  34. package/dialog/dialog.esm.js +3 -2
  35. package/dialog/dialog.esm.min.js +1 -1
  36. package/dialog/dialog.js +3 -2
  37. package/dialog/dialog.min.js +1 -1
  38. package/dropdown/dropdown.cjs.js +13 -3
  39. package/dropdown/dropdown.cjs.min.js +1 -1
  40. package/dropdown/dropdown.esm.js +13 -3
  41. package/dropdown/dropdown.esm.min.js +1 -1
  42. package/dropdown/dropdown.js +13 -3
  43. package/dropdown/dropdown.min.js +1 -1
  44. package/fileupload/fileupload.cjs.js +4 -2
  45. package/fileupload/fileupload.cjs.min.js +1 -1
  46. package/fileupload/fileupload.esm.js +4 -2
  47. package/fileupload/fileupload.esm.min.js +1 -1
  48. package/fileupload/fileupload.js +4 -2
  49. package/fileupload/fileupload.min.js +1 -1
  50. package/galleria/galleria.cjs.js +1 -0
  51. package/galleria/galleria.cjs.min.js +1 -1
  52. package/galleria/galleria.esm.js +1 -0
  53. package/galleria/galleria.esm.min.js +1 -1
  54. package/galleria/galleria.js +1 -0
  55. package/galleria/galleria.min.js +1 -1
  56. package/inputnumber/inputnumber.cjs.js +7 -2
  57. package/inputnumber/inputnumber.cjs.min.js +1 -1
  58. package/inputnumber/inputnumber.esm.js +7 -2
  59. package/inputnumber/inputnumber.esm.min.js +1 -1
  60. package/inputnumber/inputnumber.js +7 -2
  61. package/inputnumber/inputnumber.min.js +1 -1
  62. package/listbox/listbox.d.ts +4 -4
  63. package/menu/menu.cjs.js +3 -0
  64. package/menu/menu.cjs.min.js +1 -1
  65. package/menu/menu.esm.js +3 -0
  66. package/menu/menu.esm.min.js +1 -1
  67. package/menu/menu.js +3 -0
  68. package/menu/menu.min.js +1 -1
  69. package/multiselect/multiselect.cjs.js +61 -15
  70. package/multiselect/multiselect.cjs.min.js +1 -1
  71. package/multiselect/multiselect.esm.js +61 -15
  72. package/multiselect/multiselect.esm.min.js +1 -1
  73. package/multiselect/multiselect.js +61 -15
  74. package/multiselect/multiselect.min.js +1 -1
  75. package/multistatecheckbox/multistatecheckbox.cjs.js +16 -8
  76. package/multistatecheckbox/multistatecheckbox.cjs.min.js +1 -1
  77. package/multistatecheckbox/multistatecheckbox.esm.js +16 -8
  78. package/multistatecheckbox/multistatecheckbox.esm.min.js +1 -1
  79. package/multistatecheckbox/multistatecheckbox.js +16 -8
  80. package/multistatecheckbox/multistatecheckbox.min.js +1 -1
  81. package/package.json +1 -1
  82. package/paginator/paginator.cjs.js +9 -1
  83. package/paginator/paginator.cjs.min.js +1 -1
  84. package/paginator/paginator.esm.js +9 -1
  85. package/paginator/paginator.esm.min.js +1 -1
  86. package/paginator/paginator.js +9 -1
  87. package/paginator/paginator.min.js +1 -1
  88. package/picklist/picklist.cjs.js +9 -1
  89. package/picklist/picklist.cjs.min.js +1 -1
  90. package/picklist/picklist.esm.js +9 -1
  91. package/picklist/picklist.esm.min.js +1 -1
  92. package/picklist/picklist.js +9 -1
  93. package/picklist/picklist.min.js +1 -1
  94. package/primereact.all.cjs.js +297 -115
  95. package/primereact.all.cjs.min.js +1 -1
  96. package/primereact.all.esm.js +297 -115
  97. package/primereact.all.esm.min.js +1 -1
  98. package/primereact.all.js +297 -115
  99. package/primereact.all.min.js +1 -1
  100. package/treeselect/treeselect.cjs.js +4 -0
  101. package/treeselect/treeselect.cjs.min.js +1 -1
  102. package/treeselect/treeselect.d.ts +33 -0
  103. package/treeselect/treeselect.esm.js +4 -0
  104. package/treeselect/treeselect.esm.min.js +1 -1
  105. package/treeselect/treeselect.js +4 -0
  106. package/treeselect/treeselect.min.js +1 -1
  107. package/tristatecheckbox/tristatecheckbox.cjs.js +1 -0
  108. package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
  109. package/tristatecheckbox/tristatecheckbox.esm.js +1 -0
  110. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  111. package/tristatecheckbox/tristatecheckbox.js +1 -0
  112. package/tristatecheckbox/tristatecheckbox.min.js +1 -1
  113. package/utils/utils.cjs.js +3 -1
  114. package/utils/utils.cjs.min.js +1 -1
  115. package/utils/utils.d.ts +1 -1
  116. package/utils/utils.esm.js +3 -1
  117. package/utils/utils.esm.min.js +1 -1
  118. package/utils/utils.js +3 -1
  119. package/utils/utils.min.js +1 -1
  120. package/web-types.json +77 -10
package/primereact.all.js CHANGED
@@ -148,6 +148,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
148
148
  EQUALS: 'equals',
149
149
  NOT_EQUALS: 'notEquals',
150
150
  IN: 'in',
151
+ NOT_IN: 'notIn',
151
152
  LESS_THAN: 'lt',
152
153
  LESS_THAN_OR_EQUAL_TO: 'lte',
153
154
  GREATER_THAN: 'gt',
@@ -2152,11 +2153,13 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
2152
2153
  * @param {object} a - The first object to compare.
2153
2154
  * @param {object} b - The second object to compare.
2154
2155
  * @param {string[]} [keysToCompare] - The keys to compare. If not provided, performs a shallow comparison using absoluteCompare.
2156
+ * @param {number} [maxDepth=1] - The maximum depth to compare if the variables are objects.
2155
2157
  * @returns {boolean} True if all specified properties are equal, false otherwise.
2156
2158
  */
2157
2159
  }, {
2158
2160
  key: "selectiveCompare",
2159
2161
  value: function selectiveCompare(a, b, keysToCompare) {
2162
+ var maxDepth = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
2160
2163
  if (a === b) return true;
2161
2164
  if (!a || !b || _typeof(a) !== 'object' || _typeof(b) !== 'object') return false;
2162
2165
  if (!keysToCompare) return this.absoluteCompare(a, b, 1); // If no keys are provided, the comparison is limited to one depth level.
@@ -2170,7 +2173,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
2170
2173
  var isObject = _typeof(aValue) === 'object' && aValue !== null && _typeof(bValue) === 'object' && bValue !== null;
2171
2174
 
2172
2175
  // If the current key is an object, they are compared in one further level only.
2173
- if (isObject && !this.absoluteCompare(aValue, bValue, 1)) return false;
2176
+ if (isObject && !this.absoluteCompare(aValue, bValue, maxDepth)) return false;
2174
2177
  if (!isObject && aValue !== bValue) return false;
2175
2178
  }
2176
2179
  } catch (err) {
@@ -3098,6 +3101,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
3098
3101
  emptySelectionMessage: 'No selected item',
3099
3102
  endsWith: 'Ends with',
3100
3103
  equals: 'Equals',
3104
+ fileChosenMessage: '{0} files',
3101
3105
  fileSizeTypes: ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],
3102
3106
  filter: 'Filter',
3103
3107
  firstDayOfWeek: 0,
@@ -3116,6 +3120,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
3116
3120
  nextMonth: 'Next Month',
3117
3121
  nextSecond: 'Next Second',
3118
3122
  nextYear: 'Next Year',
3123
+ noFileChosenMessage: 'No file chosen',
3119
3124
  noFilter: 'No Filter',
3120
3125
  notContains: 'Not contains',
3121
3126
  notEquals: 'Not equals',
@@ -3143,8 +3148,10 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
3143
3148
  aria: {
3144
3149
  cancelEdit: 'Cancel Edit',
3145
3150
  close: 'Close',
3151
+ collapseLabel: 'Collapse',
3146
3152
  collapseRow: 'Row Collapsed',
3147
3153
  editRow: 'Edit Row',
3154
+ expandLabel: 'Expand',
3148
3155
  expandRow: 'Row Expanded',
3149
3156
  falseLabel: 'False',
3150
3157
  filterConstraint: 'Filter Constraint',
@@ -3169,18 +3176,20 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
3169
3176
  next: 'Next',
3170
3177
  nextPageLabel: 'Next Page',
3171
3178
  nullLabel: 'Not Selected',
3172
- pageLabel: 'Page {page}',
3173
3179
  otpLabel: 'Please enter one time password character {0}',
3180
+ pageLabel: 'Page {page}',
3174
3181
  passwordHide: 'Hide Password',
3175
3182
  passwordShow: 'Show Password',
3176
3183
  previous: 'Previous',
3177
3184
  prevPageLabel: 'Previous Page',
3185
+ removeLabel: 'Remove',
3178
3186
  rotateLeft: 'Rotate Left',
3179
3187
  rotateRight: 'Rotate Right',
3180
3188
  rowsPerPageLabel: 'Rows per page',
3181
3189
  saveEdit: 'Save Edit',
3182
3190
  scrollTop: 'Scroll Top',
3183
3191
  selectAll: 'All items selected',
3192
+ selectLabel: 'Select',
3184
3193
  selectRow: 'Row Selected',
3185
3194
  showFilterMenu: 'Show Filter Menu',
3186
3195
  slide: 'Slide',
@@ -3189,6 +3198,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
3189
3198
  stars: '{star} stars',
3190
3199
  trueLabel: 'True',
3191
3200
  unselectAll: 'All items unselected',
3201
+ unselectLabel: 'Unselect',
3192
3202
  unselectRow: 'Row Unselected',
3193
3203
  zoomImage: 'Zoom Image',
3194
3204
  zoomIn: 'Zoom In',
@@ -12168,13 +12178,32 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
12168
12178
  return props.parseDateTime(text);
12169
12179
  }
12170
12180
  var date;
12171
- var parts = text.split(' ');
12172
12181
  if (props.timeOnly) {
12173
12182
  date = new Date();
12174
- populateTime(date, parts[0], parts[1]);
12183
+ var match = text.match(/(\d{1,2}:\d{2}(?::\d{2})?(?:\.\d{1,3})?)\s?(AM|PM)?/i);
12184
+ if (match) {
12185
+ populateTime(date, match[1], match[2]);
12186
+ } else {
12187
+ return null;
12188
+ }
12175
12189
  } else if (props.showTime) {
12176
- date = parseDate(parts[0], getDateFormat());
12177
- populateTime(date, parts[1], parts[2]);
12190
+ var time12 = /(\d{1,2}:\d{2}(?::\d{2})?(?:\.\d{1,3})?)\s?(AM|PM)/i;
12191
+ var time24 = /(\d{1,2}:\d{2}(?::\d{2})?(?:\.\d{1,3})?)$/;
12192
+ var _match, datePart, timePart, ampm;
12193
+ if (props.hourFormat === '12' && (_match = text.match(time12))) {
12194
+ timePart = _match[1];
12195
+ ampm = _match[2];
12196
+ datePart = text.replace(time12, '').trim();
12197
+ } else if (props.hourFormat === '24' && (_match = text.match(time24))) {
12198
+ timePart = _match[1];
12199
+ datePart = text.replace(time24, '').trim();
12200
+ }
12201
+ if (datePart && timePart) {
12202
+ date = parseDate(datePart, getDateFormat());
12203
+ populateTime(date, timePart, ampm);
12204
+ } else {
12205
+ date = parseDate(text, getDateFormat());
12206
+ }
12178
12207
  } else {
12179
12208
  date = parseDate(text, getDateFormat());
12180
12209
  }
@@ -12563,7 +12592,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
12563
12592
  viewDate.setHours(0, 0, 0);
12564
12593
  isClearClicked.current = false;
12565
12594
  }
12566
- if (!prevPropValue && propValue || propValue && propValue instanceof Date && propValue.getTime() !== prevPropValue.getTime()) {
12595
+ if (!prevPropValue && propValue || propValue && propValue instanceof Date && prevPropValue instanceof Date && propValue.getTime() !== prevPropValue.getTime()) {
12567
12596
  validateDate(viewDate);
12568
12597
  }
12569
12598
  setViewDateState(viewDate);
@@ -12817,6 +12846,9 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
12817
12846
  }),
12818
12847
  'aria-selected': selected,
12819
12848
  'aria-disabled': !date.selectable,
12849
+ onMouseDown: function onMouseDown(e) {
12850
+ return e.preventDefault();
12851
+ },
12820
12852
  onClick: function onClick(e) {
12821
12853
  return onDateSelect(e, date);
12822
12854
  },
@@ -14335,6 +14367,22 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
14335
14367
  CarouselItem.displayName = 'CarouselItem';
14336
14368
  Carousel.displayName = 'Carousel';
14337
14369
 
14370
+ var TimesIcon = /*#__PURE__*/React__namespace.memo(/*#__PURE__*/React__namespace.forwardRef(function (inProps, ref) {
14371
+ var pti = IconBase.getPTI(inProps);
14372
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends({
14373
+ ref: ref,
14374
+ width: "14",
14375
+ height: "14",
14376
+ viewBox: "0 0 14 14",
14377
+ fill: "none",
14378
+ xmlns: "http://www.w3.org/2000/svg"
14379
+ }, pti), /*#__PURE__*/React__namespace.createElement("path", {
14380
+ d: "M8.01186 7.00933L12.27 2.75116C12.341 2.68501 12.398 2.60524 12.4375 2.51661C12.4769 2.42798 12.4982 2.3323 12.4999 2.23529C12.5016 2.13827 12.4838 2.0419 12.4474 1.95194C12.4111 1.86197 12.357 1.78024 12.2884 1.71163C12.2198 1.64302 12.138 1.58893 12.0481 1.55259C11.9581 1.51625 11.8617 1.4984 11.7647 1.50011C11.6677 1.50182 11.572 1.52306 11.4834 1.56255C11.3948 1.60204 11.315 1.65898 11.2488 1.72997L6.99067 5.98814L2.7325 1.72997C2.59553 1.60234 2.41437 1.53286 2.22718 1.53616C2.03999 1.53946 1.8614 1.61529 1.72901 1.74767C1.59663 1.88006 1.5208 2.05865 1.5175 2.24584C1.5142 2.43303 1.58368 2.61419 1.71131 2.75116L5.96948 7.00933L1.71131 11.2675C1.576 11.403 1.5 11.5866 1.5 11.7781C1.5 11.9696 1.576 12.1532 1.71131 12.2887C1.84679 12.424 2.03043 12.5 2.2219 12.5C2.41338 12.5 2.59702 12.424 2.7325 12.2887L6.99067 8.03052L11.2488 12.2887C11.3843 12.424 11.568 12.5 11.7594 12.5C11.9509 12.5 12.1346 12.424 12.27 12.2887C12.4053 12.1532 12.4813 11.9696 12.4813 11.7781C12.4813 11.5866 12.4053 11.403 12.27 11.2675L8.01186 7.00933Z",
14381
+ fill: "currentColor"
14382
+ }));
14383
+ }));
14384
+ TimesIcon.displayName = 'TimesIcon';
14385
+
14338
14386
  var classes$14 = {
14339
14387
  root: function root(_ref) {
14340
14388
  var props = _ref.props,
@@ -14371,6 +14419,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
14371
14419
  });
14372
14420
  },
14373
14421
  dropdownIcon: 'p-cascadeselect-trigger-icon',
14422
+ clearIcon: 'p-cascadeselect-clear-icon p-clickable',
14374
14423
  loadingIcon: 'p-cascadeselect-trigger-icon',
14375
14424
  dropdownButton: 'p-cascadeselect-trigger',
14376
14425
  loadingButton: 'p-cascadeselect-trigger',
@@ -14381,7 +14430,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
14381
14430
  text: 'p-cascadeselect-item-text',
14382
14431
  transition: 'p-connected-overlay'
14383
14432
  };
14384
- var styles$U = "\n@layer primereact {\n .p-cascadeselect {\n display: inline-flex;\n cursor: pointer;\n position: relative;\n user-select: none;\n }\n \n .p-cascadeselect-trigger {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n }\n \n .p-cascadeselect-label {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n flex: 1 1 auto;\n width: 1%;\n text-overflow: ellipsis;\n cursor: pointer;\n }\n \n .p-cascadeselect-label-empty {\n overflow: hidden;\n visibility: hidden;\n }\n \n .p-cascadeselect .p-cascadeselect-panel {\n min-width: 100%;\n }\n \n .p-cascadeselect-item {\n cursor: pointer;\n font-weight: normal;\n white-space: nowrap;\n }\n \n .p-cascadeselect-item-content {\n display: flex;\n align-items: center;\n overflow: hidden;\n position: relative;\n }\n \n .p-cascadeselect-group-icon {\n margin-left: auto;\n }\n \n .p-cascadeselect-items {\n margin: 0;\n padding: 0;\n list-style-type: none;\n min-width: 100%;\n }\n \n .p-fluid .p-cascadeselect {\n display: flex;\n }\n \n .p-fluid .p-cascadeselect .p-cascadeselect-label {\n width: 1%;\n }\n \n .p-cascadeselect-sublist-wrapper {\n position: absolute;\n min-width: 100%;\n z-index: 1;\n display: none;\n }\n \n .p-cascadeselect-item-active {\n overflow: visible;\n }\n \n .p-cascadeselect-item-active > .p-cascadeselect-sublist-wrapper {\n display: block;\n left: 100%;\n top: 0;\n }\n}\n";
14433
+ var styles$U = "\n@layer primereact {\n .p-cascadeselect {\n display: inline-flex;\n cursor: pointer;\n position: relative;\n user-select: none;\n }\n \n .p-cascadeselect-trigger {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n }\n \n .p-cascadeselect-label {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n flex: 1 1 auto;\n width: 1%;\n text-overflow: ellipsis;\n cursor: pointer;\n }\n \n .p-cascadeselect-label-empty {\n overflow: hidden;\n visibility: hidden;\n }\n \n .p-cascadeselect .p-cascadeselect-panel {\n min-width: 100%;\n }\n \n .p-cascadeselect-item {\n cursor: pointer;\n font-weight: normal;\n white-space: nowrap;\n }\n \n .p-cascadeselect-item-content {\n display: flex;\n align-items: center;\n overflow: hidden;\n position: relative;\n }\n \n .p-cascadeselect-group-icon {\n margin-left: auto;\n }\n \n .p-cascadeselect-items {\n margin: 0;\n padding: 0;\n list-style-type: none;\n min-width: 100%;\n }\n \n .p-fluid .p-cascadeselect {\n display: flex;\n }\n \n .p-fluid .p-cascadeselect .p-cascadeselect-label {\n width: 1%;\n }\n \n .p-cascadeselect-sublist-wrapper {\n position: absolute;\n min-width: 100%;\n z-index: 1;\n display: none;\n }\n \n .p-cascadeselect-item-active {\n overflow: visible;\n }\n \n .p-cascadeselect-item-active > .p-cascadeselect-sublist-wrapper {\n display: block;\n left: 100%;\n top: 0;\n }\n .p-cascadeselect-clear-icon {\n position: absolute;\n top: 50%;\n margin-top: -.5rem;\n right: 3rem;\n }\n}\n";
14385
14434
  var CascadeSelectBase = ComponentBase.extend({
14386
14435
  defaultProps: {
14387
14436
  __TYPE: 'CascadeSelect',
@@ -14414,6 +14463,8 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
14414
14463
  optionLabel: null,
14415
14464
  optionValue: null,
14416
14465
  options: null,
14466
+ panelClassName: null,
14467
+ panelStyle: null,
14417
14468
  placeholder: null,
14418
14469
  scrollHeight: '400px',
14419
14470
  style: null,
@@ -14726,6 +14777,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
14726
14777
  var styleElementRef = React__namespace.useRef(null);
14727
14778
  var dirty = React__namespace.useRef(false);
14728
14779
  var selectionPath = React__namespace.useRef(null);
14780
+ var selfChange = React__namespace.useRef(null);
14729
14781
  var _useOverlayListener = useOverlayListener({
14730
14782
  target: elementRef,
14731
14783
  overlay: overlayRef,
@@ -14755,6 +14807,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
14755
14807
  });
14756
14808
  var onOptionSelect = function onOptionSelect(event) {
14757
14809
  if (props.onChange) {
14810
+ selfChange.current = true;
14758
14811
  props.onChange({
14759
14812
  originalEvent: event,
14760
14813
  value: event.value
@@ -14981,6 +15034,48 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
14981
15034
  }, ariaProps), ptm('input'));
14982
15035
  return /*#__PURE__*/React__namespace.createElement("div", hiddenSelectedMessageProps, /*#__PURE__*/React__namespace.createElement("input", inputProps));
14983
15036
  };
15037
+ var clear = function clear(event) {
15038
+ if (props.onChange) {
15039
+ selfChange.current = true;
15040
+ props.onChange({
15041
+ originalEvent: event,
15042
+ value: undefined,
15043
+ stopPropagation: function stopPropagation() {
15044
+ event === null || event === void 0 || event.stopPropagation();
15045
+ },
15046
+ preventDefault: function preventDefault() {
15047
+ event === null || event === void 0 || event.preventDefault();
15048
+ },
15049
+ target: {
15050
+ name: props.name,
15051
+ id: props.id,
15052
+ value: undefined
15053
+ }
15054
+ });
15055
+ }
15056
+ };
15057
+ var onClearIconKeyDown = function onClearIconKeyDown(event) {
15058
+ if (event.key === 'Enter' || event.code === 'Space') {
15059
+ clear(event);
15060
+ event.preventDefault();
15061
+ }
15062
+ };
15063
+ var createClearIcon = function createClearIcon() {
15064
+ if (props.value != null && props.showClear && !props.disabled) {
15065
+ var clearIconProps = mergeProps({
15066
+ className: cx('clearIcon'),
15067
+ onPointerUp: clear,
15068
+ tabIndex: props.tabIndex || '0',
15069
+ onKeyDown: onClearIconKeyDown,
15070
+ 'aria-label': localeOption('clear')
15071
+ }, ptm('clearIcon'));
15072
+ var icon = props.clearIcon || /*#__PURE__*/React__namespace.createElement(TimesIcon, clearIconProps);
15073
+ return IconUtils.getJSXIcon(icon, _objectSpread$1H({}, clearIconProps), {
15074
+ props: props
15075
+ });
15076
+ }
15077
+ return null;
15078
+ };
14984
15079
  var createLabel = function createLabel() {
14985
15080
  var label = props.value ? getOptionLabel(props.value) : props.placeholder || 'p-emptylabel';
14986
15081
  var labelProps = mergeProps({
@@ -15034,7 +15129,8 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
15034
15129
  }, ptm('wrapper'));
15035
15130
  var panelProps = mergeProps({
15036
15131
  ref: overlayRef,
15037
- className: cx('panel'),
15132
+ className: classNames(props.panelClassName, cx('panel')),
15133
+ style: props.panelStyle,
15038
15134
  onClick: function onClick(e) {
15039
15135
  return onPanelClick(e);
15040
15136
  }
@@ -15083,6 +15179,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
15083
15179
  var createElement = function createElement() {
15084
15180
  var keyboardHelper = createKeyboardHelper();
15085
15181
  var labelElement = createLabel();
15182
+ var clearIcon = createClearIcon();
15086
15183
  var dropdownIcon = props.loading ? createLoadingIcon() : createDropdownIcon();
15087
15184
  var overlay = createOverlay();
15088
15185
  var rootProps = mergeProps({
@@ -15098,7 +15195,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
15098
15195
  return _onClick(e);
15099
15196
  }
15100
15197
  }, otherProps, ptm('root'));
15101
- return /*#__PURE__*/React__namespace.createElement("div", rootProps, keyboardHelper, labelElement, dropdownIcon, overlay);
15198
+ return /*#__PURE__*/React__namespace.createElement("div", rootProps, keyboardHelper, labelElement, clearIcon, dropdownIcon, overlay);
15102
15199
  };
15103
15200
  var otherProps = CascadeSelectBase.getOtherProps(props);
15104
15201
  ObjectUtils.reduceKeys(otherProps, DomHandler.DATA_PROPS);
@@ -16947,22 +17044,6 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
16947
17044
  }));
16948
17045
  var FocusTrap$1 = FocusTrap;
16949
17046
 
16950
- var TimesIcon = /*#__PURE__*/React__namespace.memo(/*#__PURE__*/React__namespace.forwardRef(function (inProps, ref) {
16951
- var pti = IconBase.getPTI(inProps);
16952
- return /*#__PURE__*/React__namespace.createElement("svg", _extends({
16953
- ref: ref,
16954
- width: "14",
16955
- height: "14",
16956
- viewBox: "0 0 14 14",
16957
- fill: "none",
16958
- xmlns: "http://www.w3.org/2000/svg"
16959
- }, pti), /*#__PURE__*/React__namespace.createElement("path", {
16960
- d: "M8.01186 7.00933L12.27 2.75116C12.341 2.68501 12.398 2.60524 12.4375 2.51661C12.4769 2.42798 12.4982 2.3323 12.4999 2.23529C12.5016 2.13827 12.4838 2.0419 12.4474 1.95194C12.4111 1.86197 12.357 1.78024 12.2884 1.71163C12.2198 1.64302 12.138 1.58893 12.0481 1.55259C11.9581 1.51625 11.8617 1.4984 11.7647 1.50011C11.6677 1.50182 11.572 1.52306 11.4834 1.56255C11.3948 1.60204 11.315 1.65898 11.2488 1.72997L6.99067 5.98814L2.7325 1.72997C2.59553 1.60234 2.41437 1.53286 2.22718 1.53616C2.03999 1.53946 1.8614 1.61529 1.72901 1.74767C1.59663 1.88006 1.5208 2.05865 1.5175 2.24584C1.5142 2.43303 1.58368 2.61419 1.71131 2.75116L5.96948 7.00933L1.71131 11.2675C1.576 11.403 1.5 11.5866 1.5 11.7781C1.5 11.9696 1.576 12.1532 1.71131 12.2887C1.84679 12.424 2.03043 12.5 2.2219 12.5C2.41338 12.5 2.59702 12.424 2.7325 12.2887L6.99067 8.03052L11.2488 12.2887C11.3843 12.424 11.568 12.5 11.7594 12.5C11.9509 12.5 12.1346 12.424 12.27 12.2887C12.4053 12.1532 12.4813 11.9696 12.4813 11.7781C12.4813 11.5866 12.4053 11.403 12.27 11.2675L8.01186 7.00933Z",
16961
- fill: "currentColor"
16962
- }));
16963
- }));
16964
- TimesIcon.displayName = 'TimesIcon';
16965
-
16966
17047
  var WindowMaximizeIcon = /*#__PURE__*/React__namespace.memo(/*#__PURE__*/React__namespace.forwardRef(function (inProps, ref) {
16967
17048
  var pti = IconBase.getPTI(inProps);
16968
17049
  return /*#__PURE__*/React__namespace.createElement("svg", _extends({
@@ -17116,6 +17197,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
17116
17197
  resizable: true,
17117
17198
  rtl: false,
17118
17199
  showHeader: true,
17200
+ showCloseIcon: true,
17119
17201
  style: null,
17120
17202
  transitionOptions: null,
17121
17203
  visible: false,
@@ -17247,7 +17329,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
17247
17329
  var focus = function focus() {
17248
17330
  var activeElement = document.activeElement;
17249
17331
  var isActiveElementInDialog = activeElement && dialogRef.current && dialogRef.current.contains(activeElement);
17250
- if (!isActiveElementInDialog && props.closable && props.showHeader && closeRef.current) {
17332
+ if (!isActiveElementInDialog && props.closable && props.showCloseIcon && props.showHeader && closeRef.current) {
17251
17333
  closeRef.current.focus();
17252
17334
  }
17253
17335
  };
@@ -17553,7 +17635,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
17553
17635
  };
17554
17636
  });
17555
17637
  var createCloseIcon = function createCloseIcon() {
17556
- if (props.closable) {
17638
+ if (props.closable && props.showCloseIcon) {
17557
17639
  var labelAria = props.ariaCloseIconLabel || ariaLabel('close');
17558
17640
  var closeButtonIconProps = mergeProps({
17559
17641
  className: cx('closeButtonIcon'),
@@ -20371,7 +20453,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
20371
20453
  var stacked = props.showButtons && props.buttonLayout === 'stacked';
20372
20454
  var horizontal = props.showButtons && props.buttonLayout === 'horizontal';
20373
20455
  var vertical = props.showButtons && props.buttonLayout === 'vertical';
20374
- var inputMode = props.inputMode || (props.mode === 'decimal' && !props.minFractionDigits ? 'numeric' : 'decimal');
20456
+ var inputMode = props.inputMode || (props.mode === 'decimal' && !props.minFractionDigits && !props.maxFractionDigits ? 'numeric' : 'decimal');
20375
20457
  var getOptions = function getOptions() {
20376
20458
  var _props$minFractionDig, _props$maxFractionDig;
20377
20459
  return {
@@ -20806,6 +20888,10 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
20806
20888
  event.preventDefault();
20807
20889
  var _char2 = event.key;
20808
20890
  if (_char2) {
20891
+ // get decimal separator in current locale
20892
+ if (_char2 === '.') {
20893
+ _char2 = _decimalSeparator.current;
20894
+ }
20809
20895
  var _isDecimalSign = isDecimalSign(_char2);
20810
20896
  var _isMinusSign = isMinusSign(_char2);
20811
20897
  if (Number(_char2) >= 0 && Number(_char2) <= 9 || _isMinusSign || _isDecimalSign) {
@@ -20920,6 +21006,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
20920
21006
  suffixCharIndex = _getCharIndexes2.suffixCharIndex,
20921
21007
  currencyCharIndex = _getCharIndexes2.currencyCharIndex;
20922
21008
  var maxFractionDigits = numberFormat.current.resolvedOptions().maximumFractionDigits;
21009
+ var hasBoundOrAffix = props.min || props.max || props.suffix || props.prefix; //only exception
20923
21010
  var newValueStr;
20924
21011
  if (sign.isMinusSign) {
20925
21012
  var isNewMinusSign = minusCharIndex === -1;
@@ -20939,7 +21026,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
20939
21026
  newValueStr = insertText(inputValue, text, selectionStart, selectionEnd);
20940
21027
  updateValue(event, newValueStr, text, 'insert');
20941
21028
  } else if (decimalCharIndex === -1 && (maxFractionDigits || props.maxFractionDigits)) {
20942
- var allowedDecimal = inputMode !== 'numeric' || inputMode === 'numeric' && (props.min || props.max);
21029
+ var allowedDecimal = inputMode !== 'numeric' || inputMode === 'numeric' && hasBoundOrAffix;
20943
21030
  if (allowedDecimal) {
20944
21031
  newValueStr = insertText(inputValue, text, selectionStart, selectionEnd);
20945
21032
  updateValue(event, newValueStr, text, 'insert');
@@ -21906,6 +21993,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
21906
21993
  name: null,
21907
21994
  onBlur: null,
21908
21995
  onChange: null,
21996
+ onClick: null,
21909
21997
  onContextMenu: null,
21910
21998
  onFilter: null,
21911
21999
  onFocus: null,
@@ -22795,15 +22883,24 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
22795
22883
  !pressedInInputText && onEnterKey(event);
22796
22884
  };
22797
22885
  var onEnterKey = function onEnterKey(event) {
22886
+ event.preventDefault();
22798
22887
  if (!overlayVisibleState) {
22799
22888
  setFocusedOptionIndex(-1);
22800
22889
  onArrowDownKey(event);
22801
22890
  } else {
22802
- if (focusedOptionIndex !== -1) {
22803
- onOptionSelect(event, visibleOptions[focusedOptionIndex]);
22891
+ if (focusedOptionIndex === -1) {
22892
+ return;
22893
+ }
22894
+ var focusedOption = visibleOptions[focusedOptionIndex];
22895
+ var optionValue = getOptionValue(focusedOption);
22896
+ if (optionValue == null || optionValue == undefined) {
22897
+ hide();
22898
+ resetFilter();
22899
+ updateEditableLabel(selectedOption);
22900
+ return;
22804
22901
  }
22902
+ onOptionSelect(event, focusedOption);
22805
22903
  }
22806
- event.preventDefault();
22807
22904
  };
22808
22905
  var onEscapeKey = function onEscapeKey(event) {
22809
22906
  overlayVisibleState && hide();
@@ -24582,7 +24679,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
24582
24679
  editingRowDataStateRef.current = editingRowData;
24583
24680
  };
24584
24681
  var _onClick = function onClick(event) {
24585
- props.onClick(event, getCellCallbackParams(event), isEditable(), editingState, setEditingState, selfClick, props.column, bindDocumentClickListener, overlayEventListener);
24682
+ props.onClick(event, getCellCallbackParams(event), isEditable(), editingState, setEditingState, selfClick, props.column, bindDocumentClickListener, overlayEventListener, isOutsideClicked);
24586
24683
  };
24587
24684
  var _onMouseDown = function onMouseDown(event) {
24588
24685
  var params = getCellCallbackParams(event);
@@ -24704,7 +24801,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
24704
24801
  field: props.field,
24705
24802
  index: props.rowIndex
24706
24803
  });
24707
- props.focusOnInit();
24804
+ props.focusOnInit(initFocusTimeout, elementRef);
24708
24805
  };
24709
24806
  React__namespace.useEffect(function () {
24710
24807
  if (props.frozenCol) props.updateStickyPosition(elementRef, props.frozenCol, props.alignFrozenCol, styleObjectState, setStyleObjectState);
@@ -25045,11 +25142,18 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
25045
25142
  return ObjectUtils.selectiveCompare(prevProps, nextProps, keysToCompare);
25046
25143
  });
25047
25144
  RadioCheckCell.displayName = 'RadioCheckCell';
25145
+ var defaultKeysToCompare = ['rowData', 'field', 'allowCellSelection', 'isCellSelected', 'editMode', 'index', 'tabIndex', 'editing', 'expanded', 'editingMeta', 'frozenCol', 'alignFrozenCol'];
25048
25146
  var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
25049
25147
  return /*#__PURE__*/React__namespace.createElement(Cell, props);
25050
25148
  }, function (prevProps, nextProps) {
25051
- var keysToCompare = ['field', 'allowCellSelection', 'isCellSelected', 'editMode', 'index', 'tabIndex', 'editing', 'expanded', 'editingMeta', 'rowData', 'frozenCol', 'alignFrozenCol'];
25052
- return ObjectUtils.selectiveCompare(prevProps, nextProps, keysToCompare);
25149
+ if (nextProps.cellMemo === false) return false;
25150
+ var memoProps = nextProps.cellMemoProps;
25151
+ var keysToCompare = Array.isArray(memoProps) && memoProps.every(function (prop) {
25152
+ return typeof prop === 'string';
25153
+ }) ? memoProps : defaultKeysToCompare;
25154
+ var memoPropsDepth = nextProps.cellMemoPropsDepth;
25155
+ var depth = typeof memoPropsDepth === 'number' && memoPropsDepth > 0 ? memoPropsDepth : 1;
25156
+ return ObjectUtils.selectiveCompare(prevProps, nextProps, keysToCompare, depth);
25053
25157
  });
25054
25158
  BodyCell.displayName = 'BodyCell';
25055
25159
 
@@ -25526,7 +25630,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
25526
25630
  !isSameStyle && setStyleObjectState(styleObject);
25527
25631
  }
25528
25632
  }, []);
25529
- var onCellClick = function onCellClick(event, params, isEditable, editingState, setEditingState, selfClick, column, bindDocumentClickListener, overlayEventListener) {
25633
+ var onCellClick = function onCellClick(event, params, isEditable, editingState, setEditingState, selfClick, column, bindDocumentClickListener, overlayEventListener, isOutsideClicked) {
25530
25634
  if (props.editMode !== 'row' && isEditable && !editingState && (props.selectOnEdit || !props.selectOnEdit && props.isRowSelected)) {
25531
25635
  selfClick.current = true;
25532
25636
  var onBeforeCellEditShow = getColumnProp(column, 'onBeforeCellEditShow');
@@ -25585,6 +25689,9 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
25585
25689
  var cellProps = mergeProps({
25586
25690
  hostName: props.hostName,
25587
25691
  allowCellSelection: props.allowCellSelection,
25692
+ cellMemo: props.cellMemo,
25693
+ cellMemoProps: props.cellMemoProps,
25694
+ cellMemoPropsDepth: props.cellMemoPropsDepth,
25588
25695
  cellClassName: props.cellClassName,
25589
25696
  checkIcon: props.checkIcon,
25590
25697
  collapsedRowIcon: props.collapsedRowIcon,
@@ -25952,9 +26059,6 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
25952
26059
  options = options || props.virtualScrollerOptions;
25953
26060
  return options ? options[option] : null;
25954
26061
  };
25955
- var getProcessedDataIndex = function getProcessedDataIndex(rowIndex) {
25956
- return props.lazy ? rowIndex - props.first : rowIndex;
25957
- };
25958
26062
  var findIndex = function findIndex(collection, rowData) {
25959
26063
  return (collection || []).findIndex(function (data) {
25960
26064
  return equals(rowData, data);
@@ -26125,16 +26229,14 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
26125
26229
  var rangeStart;
26126
26230
  var rangeEnd;
26127
26231
  var isAllowCellSelection = allowCellSelection();
26128
- var rangeRowIndexInProcessedData = getProcessedDataIndex(rangeRowIndex.current);
26129
- var anchorRowIndexInProcessedData = getProcessedDataIndex(anchorRowIndex.current);
26130
- if (rangeRowIndexInProcessedData > anchorRowIndexInProcessedData) {
26131
- rangeStart = anchorRowIndexInProcessedData;
26132
- rangeEnd = rangeRowIndexInProcessedData;
26133
- } else if (rangeRowIndexInProcessedData < anchorRowIndexInProcessedData) {
26134
- rangeStart = rangeRowIndexInProcessedData;
26135
- rangeEnd = anchorRowIndexInProcessedData;
26232
+ if (rangeRowIndex.current > anchorRowIndex.current) {
26233
+ rangeStart = anchorRowIndex.current;
26234
+ rangeEnd = rangeRowIndex.current;
26235
+ } else if (rangeRowIndex.current < anchorRowIndex.current) {
26236
+ rangeStart = rangeRowIndex.current;
26237
+ rangeEnd = anchorRowIndex.current;
26136
26238
  } else {
26137
- rangeStart = rangeEnd = rangeRowIndexInProcessedData;
26239
+ rangeStart = rangeEnd = rangeRowIndex.current;
26138
26240
  }
26139
26241
  return isAllowCellSelection ? selectRangeOnCell(event, rangeStart, rangeEnd) : selectRangeOnRow(event, rangeStart, rangeEnd);
26140
26242
  };
@@ -26175,7 +26277,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
26175
26277
  for (var i = rowRangeStart; i <= rowRangeEnd; i++) {
26176
26278
  var rowData = value[i];
26177
26279
  var columns = props.columns;
26178
- var rowIndex = props.lazy ? i + props.first : i;
26280
+ var rowIndex = props.paginator ? i + props.first : i;
26179
26281
  for (var j = cellRangeStart; j <= cellRangeEnd; j++) {
26180
26282
  var field = getColumnProp(columns[j], 'field');
26181
26283
  var _value = ObjectUtils.resolveFieldData(rowData, field);
@@ -26374,13 +26476,17 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
26374
26476
  onRangeSelection(event, 'row');
26375
26477
  }
26376
26478
  };
26479
+ var expandedRowsRef = React__namespace.useRef(props.expandedRows);
26480
+ React__namespace.useEffect(function () {
26481
+ expandedRowsRef.current = props.expandedRows;
26482
+ }, [props.expandedRows]);
26377
26483
  var onRowToggle = function onRowToggle(event) {
26378
26484
  var expandedRows;
26379
26485
  var dataKey = props.dataKey;
26380
26486
  var hasDataKey = props.groupRowsBy ? dataKey === props.groupRowsBy : !!dataKey;
26381
26487
  if (hasDataKey) {
26382
26488
  var dataKeyValue = String(ObjectUtils.resolveFieldData(event.data, dataKey));
26383
- expandedRows = props.expandedRows ? _objectSpread$1f({}, props.expandedRows) : {};
26489
+ expandedRows = expandedRowsRef.current ? _objectSpread$1f({}, expandedRowsRef.current) : {};
26384
26490
  if (expandedRows[dataKeyValue] != null) {
26385
26491
  delete expandedRows[dataKeyValue];
26386
26492
  if (props.onRowCollapse) {
@@ -26399,8 +26505,8 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
26399
26505
  }
26400
26506
  }
26401
26507
  } else {
26402
- var expandedRowIndex = findIndex(props.expandedRows, event.data);
26403
- expandedRows = props.expandedRows ? _toConsumableArray(props.expandedRows) : [];
26508
+ var expandedRowIndex = findIndex(expandedRowsRef.current, event.data);
26509
+ expandedRows = expandedRowsRef.current ? _toConsumableArray(expandedRowsRef.current) : [];
26404
26510
  if (expandedRowIndex !== -1) {
26405
26511
  expandedRows = expandedRows.filter(function (_, i) {
26406
26512
  return i !== expandedRowIndex;
@@ -26650,7 +26756,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
26650
26756
  return null;
26651
26757
  };
26652
26758
  var createGroupHeader = function createGroupHeader(rowData, rowIndex, expanded, colSpan) {
26653
- if (isSubheaderGrouping && shouldRenderRowGroupHeader(props.value, rowData, getProcessedDataIndex(rowIndex))) {
26759
+ if (isSubheaderGrouping && shouldRenderRowGroupHeader(props.value, rowData, rowIndex - props.first)) {
26654
26760
  var style = rowGroupHeaderStyle();
26655
26761
  var toggler = props.expandableRowGroups && /*#__PURE__*/React__namespace.createElement(RowTogglerButton, {
26656
26762
  hostName: props.hostName,
@@ -26700,6 +26806,9 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
26700
26806
  hostName: props.hostName,
26701
26807
  allowCellSelection: _allowCellSelection,
26702
26808
  allowRowSelection: _allowRowSelection,
26809
+ cellMemo: props.cellMemo,
26810
+ cellMemoProps: props.cellMemoProps,
26811
+ cellMemoPropsDepth: props.cellMemoPropsDepth,
26703
26812
  cellClassName: props.cellClassName,
26704
26813
  checkIcon: props.checkIcon,
26705
26814
  collapsedRowIcon: props.collapsedRowIcon,
@@ -29950,58 +30059,60 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
29950
30059
  var exportCSV = function exportCSV(options) {
29951
30060
  var data;
29952
30061
  var csv = "\uFEFF";
29953
- var columns = getColumns();
29954
30062
  if (options && options.selectionOnly) {
29955
30063
  data = props.selection || [];
29956
30064
  } else {
29957
30065
  data = [].concat(_toConsumableArray(props.frozenValue || []), _toConsumableArray(processedData() || []));
29958
30066
  }
29959
30067
 
29960
- //headers
29961
- columns.forEach(function (column, i) {
29962
- var _ref5 = [getColumnProp(column, 'field'), getColumnProp(column, 'header'), getColumnProp(column, 'exportHeader'), getColumnProp(column, 'exportable')],
30068
+ // First build collection of exportable columns
30069
+ var exportableColumns = getColumns().filter(function (column) {
30070
+ var exportable = getColumnProp(column, 'exportable');
30071
+ var field = getColumnProp(column, 'field');
30072
+
30073
+ // Column must be exportable (or undefined/not set) and have a field defined
30074
+ return exportable !== false && field;
30075
+ });
30076
+
30077
+ // headers
30078
+ exportableColumns.forEach(function (column, i) {
30079
+ var _ref5 = [getColumnProp(column, 'field'), getColumnProp(column, 'header'), getColumnProp(column, 'exportHeader')],
29963
30080
  field = _ref5[0],
29964
30081
  header = _ref5[1],
29965
- exportHeader = _ref5[2],
29966
- exportable = _ref5[3];
29967
- if (exportable && field) {
29968
- var columnHeader = String(exportHeader || header || field).replace(/"/g, '""').replace(/\n/g, "\u2028");
29969
- csv = csv + ('"' + columnHeader + '"');
29970
- if (i < columns.length - 1) {
29971
- csv = csv + props.csvSeparator;
29972
- }
30082
+ exportHeader = _ref5[2];
30083
+ var columnHeader = String(exportHeader || header || field).replace(/"/g, '""').replace(/\n/g, "\u2028");
30084
+ csv = csv + ('"' + columnHeader + '"');
30085
+ if (i < exportableColumns.length - 1) {
30086
+ csv = csv + props.csvSeparator;
29973
30087
  }
29974
30088
  });
29975
30089
 
29976
- //body
30090
+ // body
29977
30091
  data.forEach(function (record) {
29978
30092
  csv = csv + '\n';
29979
- columns.forEach(function (column, i) {
29980
- var _ref6 = [getColumnProp(column, 'field'), getColumnProp(column, 'exportField'), getColumnProp(column, 'exportable')],
30093
+ exportableColumns.forEach(function (column, i) {
30094
+ var _ref6 = [getColumnProp(column, 'field'), getColumnProp(column, 'exportField')],
29981
30095
  colField = _ref6[0],
29982
- exportField = _ref6[1],
29983
- exportable = _ref6[2];
30096
+ exportField = _ref6[1];
29984
30097
  var field = exportField || colField;
29985
- if (exportable && field) {
29986
- var cellData = ObjectUtils.resolveFieldData(record, field);
29987
- if (cellData != null) {
29988
- if (props.exportFunction) {
29989
- cellData = props.exportFunction({
29990
- data: cellData,
29991
- field: field,
29992
- rowData: record,
29993
- column: column
29994
- });
29995
- } else {
29996
- cellData = String(cellData).replace(/"/g, '""').replace(/\n/g, "\u2028");
29997
- }
30098
+ var cellData = ObjectUtils.resolveFieldData(record, field);
30099
+ if (cellData != null) {
30100
+ if (props.exportFunction) {
30101
+ cellData = props.exportFunction({
30102
+ data: cellData,
30103
+ field: field,
30104
+ rowData: record,
30105
+ column: column
30106
+ });
29998
30107
  } else {
29999
- cellData = '';
30000
- }
30001
- csv = csv + ('"' + cellData + '"');
30002
- if (i < columns.length - 1) {
30003
- csv = csv + props.csvSeparator;
30108
+ cellData = String(cellData).replace(/"/g, '""').replace(/\n/g, "\u2028");
30004
30109
  }
30110
+ } else {
30111
+ cellData = '';
30112
+ }
30113
+ csv = csv + ('"' + cellData + '"');
30114
+ if (i < exportableColumns.length - 1) {
30115
+ csv = csv + props.csvSeparator;
30005
30116
  }
30006
30117
  });
30007
30118
  });
@@ -30266,6 +30377,9 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
30266
30377
  var frozenBody = ObjectUtils.isNotEmpty(props.frozenValue) && /*#__PURE__*/React__namespace.createElement(TableBody, {
30267
30378
  hostName: "DataTable",
30268
30379
  ref: frozenBodyRef,
30380
+ cellMemo: props.cellMemo,
30381
+ cellMemoProps: props.cellMemoProps,
30382
+ cellMemoPropsDepth: props.cellMemoPropsDepth,
30269
30383
  cellClassName: props.cellClassName,
30270
30384
  cellSelection: props.cellSelection,
30271
30385
  checkIcon: props.checkIcon,
@@ -30350,6 +30464,9 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
30350
30464
  var body = /*#__PURE__*/React__namespace.createElement(TableBody, {
30351
30465
  hostName: "DataTable",
30352
30466
  ref: bodyRef,
30467
+ cellMemo: props.cellMemo,
30468
+ cellMemoProps: props.cellMemoProps,
30469
+ cellMemoPropsDepth: props.cellMemoPropsDepth,
30353
30470
  cellClassName: props.cellClassName,
30354
30471
  cellSelection: props.cellSelection,
30355
30472
  checkIcon: props.checkIcon,
@@ -32770,7 +32887,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
32770
32887
  var k = 1024;
32771
32888
  var dm = 3;
32772
32889
  var sizes = localeOption('fileSizeTypes');
32773
- if (bytes === 0) {
32890
+ if (bytes <= 0) {
32774
32891
  return "0 ".concat(sizes[0]);
32775
32892
  }
32776
32893
  var i = Math.floor(Math.log(bytes) / Math.log(k));
@@ -32792,7 +32909,8 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
32792
32909
  var selectedFiles = event.dataTransfer ? event.dataTransfer.files : event.target.files;
32793
32910
  for (var i = 0; i < selectedFiles.length; i++) {
32794
32911
  var file = selectedFiles[i];
32795
- if (!isFileSelected(file) && validate(file)) {
32912
+ var shouldAddFile = props.multiple ? !isFileSelected(file) && validate(file) : validate(file);
32913
+ if (shouldAddFile) {
32796
32914
  file.objectURL = window.URL.createObjectURL(file);
32797
32915
  currentFiles.push(file);
32798
32916
  }
@@ -32808,6 +32926,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
32808
32926
  });
32809
32927
  }
32810
32928
  clearInput();
32929
+ setFocusedState(false);
32811
32930
  if (props.mode === 'basic' && currentFiles.length > 0) {
32812
32931
  fileInputRef.current.style.display = 'none';
32813
32932
  }
@@ -34534,6 +34653,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
34534
34653
  },
34535
34654
  options: props.transitionOptions,
34536
34655
  unmountOnExit: true,
34656
+ appear: true,
34537
34657
  onEnter: onEnter,
34538
34658
  onEntering: onEntering,
34539
34659
  onEntered: onEntered,
@@ -39978,6 +40098,9 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
39978
40098
  className: classNames(item.className, cx('menuitem', {
39979
40099
  focused: focusedOptionIndex === key
39980
40100
  })),
40101
+ onClick: function onClick(event) {
40102
+ return onItemClick(event, item, key);
40103
+ },
39981
40104
  style: sx('menuitem', {
39982
40105
  item: item
39983
40106
  }),
@@ -41585,6 +41708,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
41585
41708
  role: "searchbox",
41586
41709
  value: props.filterValue,
41587
41710
  onChange: onFilter,
41711
+ onKeyDown: props.onFilterKeyDown,
41588
41712
  className: "p-multiselect-filter",
41589
41713
  placeholder: props.filterPlaceholder,
41590
41714
  pt: ptm('filterInput'),
@@ -41740,9 +41864,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
41740
41864
  'data-p-highlight': props.selected,
41741
41865
  'data-p-disabled': props.disabled
41742
41866
  }, getPTOptions('item'));
41743
- return /*#__PURE__*/React__namespace.createElement("li", _extends({}, itemProps, {
41744
- key: props.index + '_multiselectitem'
41745
- }), /*#__PURE__*/React__namespace.createElement("div", checkboxContainerProps, /*#__PURE__*/React__namespace.createElement(Checkbox, {
41867
+ return /*#__PURE__*/React__namespace.createElement("li", itemProps, /*#__PURE__*/React__namespace.createElement("div", checkboxContainerProps, /*#__PURE__*/React__namespace.createElement(Checkbox, {
41746
41868
  ref: checkboxRef,
41747
41869
  checked: props.selected,
41748
41870
  icon: checkboxIcon,
@@ -41810,6 +41932,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
41810
41932
  getOptionValue: props.getOptionValue,
41811
41933
  updateModel: props.updateModel,
41812
41934
  onFilter: onFilterInputChange,
41935
+ onFilterKeyDown: props.onFilterKeyDown,
41813
41936
  filterPlaceholder: props.filterPlaceholder,
41814
41937
  onClose: props.onCloseClick,
41815
41938
  showSelectAll: props.showSelectAll,
@@ -42377,6 +42500,52 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
42377
42500
  }
42378
42501
  setClicked(false);
42379
42502
  };
42503
+ var onFilterKeyDown = function onFilterKeyDown(event) {
42504
+ switch (event.code) {
42505
+ case 'ArrowUp':
42506
+ if (props.inline) {
42507
+ break;
42508
+ }
42509
+ onArrowUpKey(event);
42510
+ break;
42511
+ case 'ArrowDown':
42512
+ if (props.inline) {
42513
+ break;
42514
+ }
42515
+ onArrowDownKey(event);
42516
+ break;
42517
+ case 'NumpadEnter':
42518
+ case 'Enter':
42519
+ if (props.inline) {
42520
+ break;
42521
+ }
42522
+ onEnterKey(event);
42523
+ break;
42524
+ case 'Home':
42525
+ if (props.inline) {
42526
+ break;
42527
+ }
42528
+ onHomeKey(event);
42529
+ event.preventDefault();
42530
+ break;
42531
+ case 'End':
42532
+ if (props.inline) {
42533
+ break;
42534
+ }
42535
+ onEndKey(event);
42536
+ event.preventDefault();
42537
+ break;
42538
+ case 'Escape':
42539
+ if (props.inline) {
42540
+ break;
42541
+ }
42542
+ hide();
42543
+ break;
42544
+ case 'Tab':
42545
+ onTabKey(event);
42546
+ break;
42547
+ }
42548
+ };
42380
42549
  var onSelectAll = function onSelectAll(event) {
42381
42550
  if (props.onSelectAll) {
42382
42551
  props.onSelectAll(event);
@@ -42789,20 +42958,19 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
42789
42958
  return selectedItemsLabel;
42790
42959
  };
42791
42960
  var getLabel = function getLabel() {
42792
- var label;
42793
- if (!empty && !props.fixedPlaceholder) {
42794
- var _props$value;
42795
- if (ObjectUtils.isNotEmpty(props.maxSelectedLabels) && ((_props$value = props.value) === null || _props$value === void 0 ? void 0 : _props$value.length) > props.maxSelectedLabels) {
42796
- return getSelectedItemsLabel();
42797
- }
42798
- if (ObjectUtils.isArray(props.value)) {
42799
- return props.value.reduce(function (acc, value, index) {
42800
- return acc + (index !== 0 ? ', ' : '') + getLabelByValue(value);
42801
- }, '');
42802
- }
42961
+ var _props$value;
42962
+ if (empty || props.fixedPlaceholder) {
42803
42963
  return '';
42804
42964
  }
42805
- return label;
42965
+ if (ObjectUtils.isNotEmpty(props.maxSelectedLabels) && ((_props$value = props.value) === null || _props$value === void 0 ? void 0 : _props$value.length) > props.maxSelectedLabels) {
42966
+ return getSelectedItemsLabel();
42967
+ }
42968
+ if (ObjectUtils.isArray(props.value)) {
42969
+ return props.value.reduce(function (acc, value, index) {
42970
+ return acc + (index !== 0 ? ', ' : '') + getLabelByValue(value);
42971
+ }, '');
42972
+ }
42973
+ return '';
42806
42974
  };
42807
42975
  var getLabelContent = function getLabelContent() {
42808
42976
  var valueLength = props.value ? props.value.length : 0;
@@ -43075,6 +43243,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
43075
43243
  getOptionValue: getOptionValue,
43076
43244
  updateModel: updateModel,
43077
43245
  onFilterInputChange: onFilterInputChange,
43246
+ onFilterKeyDown: onFilterKeyDown,
43078
43247
  resetFilter: resetFilter,
43079
43248
  onCloseClick: onCloseClick,
43080
43249
  onSelectAll: onSelectAll,
@@ -43115,12 +43284,20 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
43115
43284
  },
43116
43285
  root: function root(_ref2) {
43117
43286
  var props = _ref2.props;
43118
- return classNames('p-multistatecheckbox p-checkbox p-component', props.classNames);
43287
+ return classNames('p-multistatecheckbox p-checkbox p-component', props.classNames, {
43288
+ 'p-variant-filled': props.variant === 'filled'
43289
+ });
43290
+ },
43291
+ checkbox: function checkbox(_ref3) {
43292
+ var props = _ref3.props;
43293
+ return classNames(props.className, {
43294
+ 'p-invalid': props.invalid
43295
+ });
43119
43296
  }
43120
43297
  };
43121
43298
  var inlineStyles$9 = {
43122
- checkbox: function checkbox(_ref3) {
43123
- var selectedOption = _ref3.selectedOption;
43299
+ checkbox: function checkbox(_ref4) {
43300
+ var selectedOption = _ref4.selectedOption;
43124
43301
  return selectedOption && selectedOption.style;
43125
43302
  }
43126
43303
  };
@@ -43145,7 +43322,9 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
43145
43322
  tooltip: null,
43146
43323
  tooltipOptions: null,
43147
43324
  value: null,
43148
- children: undefined
43325
+ children: undefined,
43326
+ invalid: false,
43327
+ variant: null
43149
43328
  },
43150
43329
  css: {
43151
43330
  classes: classes$v,
@@ -43294,7 +43473,6 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
43294
43473
  var ariaProps = ObjectUtils.reduceKeys(otherProps, DomHandler.ARIA_PROPS);
43295
43474
  var icon = createIcon();
43296
43475
  var ariaValueLabel = selectedOption ? getOptionAriaLabel(selectedOption) : ariaLabel('nullLabel');
43297
- var ariaChecked = selectedOption ? 'true' : 'false';
43298
43476
  var rootProps = mergeProps({
43299
43477
  ref: elementRef,
43300
43478
  id: props.id,
@@ -43303,7 +43481,8 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
43303
43481
  onClick: onClick
43304
43482
  }, MultiStateCheckboxBase.getOtherProps(props), ptm('root'));
43305
43483
  var checkboxProps = mergeProps(_objectSpread$I({
43306
- className: classNames(props.className),
43484
+ id: props.id + '_checkbox',
43485
+ className: cx('checkbox'),
43307
43486
  style: sx('checkbox', {
43308
43487
  selectedOption: selectedOption
43309
43488
  }),
@@ -43311,8 +43490,6 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
43311
43490
  onFocus: onFocus,
43312
43491
  onBlur: onBlur,
43313
43492
  onKeyDown: onKeyDown,
43314
- role: 'checkbox',
43315
- 'aria-checked': ariaChecked,
43316
43493
  onChange: onClick,
43317
43494
  checked: !!selectedOption,
43318
43495
  disabled: props === null || props === void 0 ? void 0 : props.disabled,
@@ -57665,7 +57842,9 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
57665
57842
  onBlur: null,
57666
57843
  onFilterValueChange: null,
57667
57844
  onHide: null,
57845
+ onNodeClick: null,
57668
57846
  onNodeCollapse: null,
57847
+ onNodeDoubleClick: null,
57669
57848
  onNodeExpand: null,
57670
57849
  onNodeSelect: null,
57671
57850
  onNodeUnselect: null,
@@ -58357,6 +58536,8 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
58357
58536
  onCollapse: props.onNodeCollapse,
58358
58537
  onExpand: props.onNodeExpand,
58359
58538
  onFilterValueChange: onFilterValueChange,
58539
+ onNodeClick: props.onNodeClick,
58540
+ onNodeDoubleClick: props.onNodeDoubleClick,
58360
58541
  onSelect: onNodeSelect,
58361
58542
  onSelectionChange: onSelectionChange,
58362
58543
  onToggle: onNodeToggle,
@@ -61916,6 +62097,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
61916
62097
  var ariaValueLabel = checkBoxValue ? ariaLabel('trueLabel') : checkBoxValue === false ? ariaLabel('falseLabel') : ariaLabel('nullLabel');
61917
62098
  var ariaChecked = checkBoxValue ? 'true' : 'false';
61918
62099
  var boxProps = mergeProps(_objectSpread({
62100
+ id: props.id + '_box',
61919
62101
  className: cx('box'),
61920
62102
  tabIndex: props.disabled ? '-1' : props.tabIndex,
61921
62103
  onFocus: onFocus,