primereact 8.7.1 → 8.7.2

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 (94) hide show
  1. package/autocomplete/autocomplete.cjs.js +6 -2
  2. package/autocomplete/autocomplete.cjs.min.js +1 -1
  3. package/autocomplete/autocomplete.d.ts +1 -0
  4. package/autocomplete/autocomplete.esm.js +6 -2
  5. package/autocomplete/autocomplete.esm.min.js +1 -1
  6. package/autocomplete/autocomplete.js +6 -2
  7. package/autocomplete/autocomplete.min.js +1 -1
  8. package/calendar/calendar.cjs.js +21 -5
  9. package/calendar/calendar.cjs.min.js +1 -1
  10. package/calendar/calendar.esm.js +21 -5
  11. package/calendar/calendar.esm.min.js +1 -1
  12. package/calendar/calendar.js +21 -5
  13. package/calendar/calendar.min.js +1 -1
  14. package/column/column.d.ts +1 -0
  15. package/core/core.js +23 -11
  16. package/core/core.min.js +6 -6
  17. package/inputnumber/inputnumber.cjs.js +12 -1
  18. package/inputnumber/inputnumber.cjs.min.js +1 -1
  19. package/inputnumber/inputnumber.d.ts +1 -0
  20. package/inputnumber/inputnumber.esm.js +12 -1
  21. package/inputnumber/inputnumber.esm.min.js +1 -1
  22. package/inputnumber/inputnumber.js +12 -1
  23. package/inputnumber/inputnumber.min.js +1 -1
  24. package/inputtext/inputtext.cjs.js +4 -4
  25. package/inputtext/inputtext.cjs.min.js +1 -1
  26. package/inputtext/inputtext.d.ts +5 -3
  27. package/inputtext/inputtext.esm.js +4 -4
  28. package/inputtext/inputtext.esm.min.js +1 -1
  29. package/inputtext/inputtext.js +4 -4
  30. package/inputtext/inputtext.min.js +1 -1
  31. package/inputtextarea/inputtextarea.cjs.js +28 -2
  32. package/inputtextarea/inputtextarea.cjs.min.js +1 -1
  33. package/inputtextarea/inputtextarea.d.ts +6 -2
  34. package/inputtextarea/inputtextarea.esm.js +28 -2
  35. package/inputtextarea/inputtextarea.esm.min.js +1 -1
  36. package/inputtextarea/inputtextarea.js +29 -4
  37. package/inputtextarea/inputtextarea.min.js +1 -1
  38. package/keyfilter/keyfilter.cjs.js +2 -1
  39. package/keyfilter/keyfilter.cjs.min.js +1 -1
  40. package/keyfilter/keyfilter.esm.js +2 -1
  41. package/keyfilter/keyfilter.esm.min.js +1 -1
  42. package/keyfilter/keyfilter.js +2 -1
  43. package/keyfilter/keyfilter.min.js +1 -1
  44. package/mention/mention.cjs.js +28 -2
  45. package/mention/mention.cjs.min.js +1 -1
  46. package/mention/mention.esm.js +28 -2
  47. package/mention/mention.esm.min.js +1 -1
  48. package/mention/mention.js +29 -4
  49. package/mention/mention.min.js +1 -1
  50. package/package.json +1 -1
  51. package/primereact.all.cjs.js +92 -30
  52. package/primereact.all.cjs.min.js +1 -1
  53. package/primereact.all.esm.js +92 -30
  54. package/primereact.all.esm.min.js +1 -1
  55. package/primereact.all.js +92 -30
  56. package/primereact.all.min.js +1 -1
  57. package/ripple/ripple.cjs.js +0 -1
  58. package/ripple/ripple.cjs.min.js +1 -1
  59. package/ripple/ripple.esm.js +0 -1
  60. package/ripple/ripple.esm.min.js +1 -1
  61. package/ripple/ripple.js +0 -1
  62. package/ripple/ripple.min.js +1 -1
  63. package/splitter/splitter.cjs.js +1 -1
  64. package/splitter/splitter.cjs.min.js +1 -1
  65. package/splitter/splitter.esm.js +1 -1
  66. package/splitter/splitter.esm.min.js +1 -1
  67. package/splitter/splitter.js +1 -1
  68. package/splitter/splitter.min.js +1 -1
  69. package/tieredmenu/tieredmenu.cjs.js +11 -7
  70. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  71. package/tieredmenu/tieredmenu.esm.js +11 -7
  72. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  73. package/tieredmenu/tieredmenu.js +11 -7
  74. package/tieredmenu/tieredmenu.min.js +1 -1
  75. package/tooltip/tooltip.cjs.js +3 -4
  76. package/tooltip/tooltip.cjs.min.js +1 -1
  77. package/tooltip/tooltip.esm.js +3 -4
  78. package/tooltip/tooltip.esm.min.js +1 -1
  79. package/tooltip/tooltip.js +3 -4
  80. package/tooltip/tooltip.min.js +1 -1
  81. package/treetable/treetable.cjs.js +3 -2
  82. package/treetable/treetable.cjs.min.js +1 -1
  83. package/treetable/treetable.esm.js +3 -2
  84. package/treetable/treetable.esm.min.js +1 -1
  85. package/treetable/treetable.js +3 -2
  86. package/treetable/treetable.min.js +1 -1
  87. package/utils/utils.cjs.js +2 -0
  88. package/utils/utils.cjs.min.js +1 -1
  89. package/utils/utils.d.ts +1 -1
  90. package/utils/utils.esm.js +2 -0
  91. package/utils/utils.esm.min.js +1 -1
  92. package/utils/utils.js +2 -0
  93. package/utils/utils.min.js +1 -1
  94. package/web-types.json +15 -3
package/primereact.all.js CHANGED
@@ -1992,6 +1992,8 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
1992
1992
  if (data && Object.keys(data).length && field) {
1993
1993
  if (this.isFunction(field)) {
1994
1994
  return field(data);
1995
+ } else if (ObjectUtils.isNotEmpty(data[field])) {
1996
+ return data[field];
1995
1997
  } else if (field.indexOf('.') === -1) {
1996
1998
  return data[field];
1997
1999
  } else {
@@ -3670,7 +3672,6 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
3670
3672
  };
3671
3673
 
3672
3674
  var onTouchStart = function onTouchStart(event) {
3673
- isTouching.current = true;
3674
3675
  var offset = DomHandler.getOffset(targetRef.current);
3675
3676
  var offsetX = event.targetTouches[0].pageX - offset.left + document.body.scrollTop - DomHandler.getWidth(inkRef.current) / 2;
3676
3677
  var offsetY = event.targetTouches[0].pageY - offset.top + document.body.scrollLeft - DomHandler.getHeight(inkRef.current) / 2;
@@ -4215,14 +4216,13 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
4215
4216
  }
4216
4217
  };
4217
4218
 
4218
- React__namespace.useEffect(function () {
4219
+ useMountEffect(function () {
4220
+ loadTargetEvents();
4221
+
4219
4222
  if (visibleState && currentTargetRef.current && isDisabled(currentTargetRef.current)) {
4220
4223
  hide();
4221
4224
  }
4222
4225
  });
4223
- useMountEffect(function () {
4224
- loadTargetEvents();
4225
- });
4226
4226
  useUpdateEffect(function () {
4227
4227
  loadTargetEvents();
4228
4228
  return function () {
@@ -4493,8 +4493,9 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
4493
4493
  validate: function validate(e, keyfilter) {
4494
4494
  var value = e.target.value,
4495
4495
  validatePattern = true;
4496
+ var regex = this.getRegex(keyfilter);
4496
4497
 
4497
- if (value && !keyfilter.test(value)) {
4498
+ if (value && !regex.test(value)) {
4498
4499
  validatePattern = false;
4499
4500
  }
4500
4501
 
@@ -4505,8 +4506,8 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
4505
4506
  var InputText = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.forwardRef(function (props, ref) {
4506
4507
  var elementRef = React__namespace.useRef(ref);
4507
4508
 
4508
- var onKeyPress = function onKeyPress(event) {
4509
- props.onKeyPress && props.onKeyPress(event);
4509
+ var onKeyDown = function onKeyDown(event) {
4510
+ props.onKeyDown && props.onKeyDown(event);
4510
4511
 
4511
4512
  if (props.keyfilter) {
4512
4513
  KeyFilter.onKeyPress(event, props.keyfilter, props.validateOnly);
@@ -4554,7 +4555,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
4554
4555
  }, otherProps, {
4555
4556
  className: className,
4556
4557
  onInput: onInput,
4557
- onKeyPress: onKeyPress,
4558
+ onKeyDown: onKeyDown,
4558
4559
  onPaste: onPaste
4559
4560
  })), hasTooltip && /*#__PURE__*/React__namespace.createElement(Tooltip, _extends({
4560
4561
  target: elementRef,
@@ -4569,7 +4570,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
4569
4570
  tooltip: null,
4570
4571
  tooltipOptions: null,
4571
4572
  onInput: null,
4572
- onKeyPress: null,
4573
+ onKeyDown: null,
4573
4574
  onPaste: null
4574
4575
  };
4575
4576
 
@@ -5678,8 +5679,11 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
5678
5679
  inputRef.current.value = '';
5679
5680
 
5680
5681
  if (!isSelected(option)) {
5681
- var newValue = props.value ? [].concat(_toConsumableArray(props.value), [option]) : [option];
5682
- updateModel(event, newValue);
5682
+ // allows empty value/selectionlimit and within sectionlimit
5683
+ if (!props.value || !props.selectionLimit || props.value.length < props.selectionLimit) {
5684
+ var newValue = props.value ? [].concat(_toConsumableArray(props.value), [option]) : [option];
5685
+ updateModel(event, newValue);
5686
+ }
5683
5687
  }
5684
5688
  } else {
5685
5689
  updateInputField(option);
@@ -6281,6 +6285,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
6281
6285
  removeIcon: 'pi pi-times-circle',
6282
6286
  scrollHeight: '200px',
6283
6287
  selectedItemTemplate: null,
6288
+ selectionLimit: null,
6284
6289
  showEmptyMessage: false,
6285
6290
  size: null,
6286
6291
  style: null,
@@ -8670,7 +8675,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
8670
8675
  if (value) {
8671
8676
  try {
8672
8677
  if (isSingleSelection()) {
8673
- formattedValue = isValidDate(value) ? formatDateTime(value) : '';
8678
+ formattedValue = isValidDate(value) ? formatDateTime(value) : props.keepInvalid ? value : '';
8674
8679
  } else if (isMultipleSelection()) {
8675
8680
  for (var i = 0; i < value.length; i++) {
8676
8681
  var selectedValue = value[i];
@@ -9231,10 +9236,26 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
9231
9236
  updateInputfield(newDate); // #3516 view date not updated when value set programatically
9232
9237
 
9233
9238
  if (!visible && newDate) {
9234
- validateDate(newDate);
9235
- setViewDateState(newDate);
9236
- setCurrentMonth(newDate.getMonth());
9237
- setCurrentYear(newDate.getFullYear());
9239
+ var viewDate = newDate;
9240
+
9241
+ if (isMultipleSelection()) {
9242
+ if (newDate.length) {
9243
+ viewDate = newDate[newDate.length - 1];
9244
+ }
9245
+ } else if (isRangeSelection()) {
9246
+ if (newDate.length) {
9247
+ var startDate = newDate[0];
9248
+ var endDate = newDate[1];
9249
+ viewDate = endDate || startDate;
9250
+ }
9251
+ }
9252
+
9253
+ if (viewDate instanceof Date) {
9254
+ validateDate(viewDate);
9255
+ setViewDateState(viewDate);
9256
+ setCurrentMonth(viewDate.getMonth());
9257
+ setCurrentYear(viewDate.getFullYear());
9258
+ }
9238
9259
  }
9239
9260
  }
9240
9261
  }, [props.value, visible]);
@@ -15043,7 +15064,12 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
15043
15064
  if (inputRef.current) {
15044
15065
  var step = props.step * dir;
15045
15066
  var currentValue = parseValue(inputRef.current.value) || 0;
15046
- var newValue = validateValue(currentValue + step); // touch devices trigger the keyboard to display because of setSelectionRange
15067
+ var newValue = validateValue(currentValue + step);
15068
+
15069
+ if (props.maxLength && props.maxLength < formatValue(newValue).length) {
15070
+ return;
15071
+ } // touch devices trigger the keyboard to display because of setSelectionRange
15072
+
15047
15073
 
15048
15074
  !DomHandler.isTouchDevice() && updateInput(newValue, null, 'spin');
15049
15075
  updateModel(event, newValue);
@@ -15648,6 +15674,11 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
15648
15674
  } else {
15649
15675
  var selectionStart = inputEl.selectionStart;
15650
15676
  var _selectionEnd = inputEl.selectionEnd;
15677
+
15678
+ if (props.maxLength && props.maxLength < newValue.length) {
15679
+ return;
15680
+ }
15681
+
15651
15682
  inputEl.value = newValue;
15652
15683
  var newLength = newValue.length;
15653
15684
 
@@ -15965,6 +15996,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
15965
15996
  localeMatcher: undefined,
15966
15997
  max: null,
15967
15998
  maxFractionDigits: undefined,
15999
+ maxLength: null,
15968
16000
  min: null,
15969
16001
  minFractionDigits: undefined,
15970
16002
  mode: 'decimal',
@@ -27771,6 +27803,22 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
27771
27803
  props.onKeyUp && props.onKeyUp(event);
27772
27804
  };
27773
27805
 
27806
+ var onKeyDown = function onKeyDown(event) {
27807
+ props.onKeyDown && props.onKeyDown(event);
27808
+
27809
+ if (props.keyfilter) {
27810
+ KeyFilter.onKeyPress(event, props.keyfilter, props.validateOnly);
27811
+ }
27812
+ };
27813
+
27814
+ var onPaste = function onPaste(event) {
27815
+ props.onPaste && props.onPaste(event);
27816
+
27817
+ if (props.keyfilter) {
27818
+ KeyFilter.onPaste(event, props.keyfilter, props.validateOnly);
27819
+ }
27820
+ };
27821
+
27774
27822
  var onInput = function onInput(event) {
27775
27823
  if (props.autoResize) {
27776
27824
  resize();
@@ -27832,7 +27880,9 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
27832
27880
  onFocus: onFocus,
27833
27881
  onBlur: onBlur,
27834
27882
  onKeyUp: onKeyUp,
27835
- onInput: onInput
27883
+ onKeyDown: onKeyDown,
27884
+ onInput: onInput,
27885
+ onPaste: onPaste
27836
27886
  })), hasTooltip && /*#__PURE__*/React__namespace.createElement(Tooltip, _extends({
27837
27887
  target: elementRef,
27838
27888
  content: props.tooltip
@@ -27842,9 +27892,16 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
27842
27892
  InputTextarea.defaultProps = {
27843
27893
  __TYPE: 'InputTextarea',
27844
27894
  autoResize: false,
27895
+ keyfilter: null,
27896
+ onBlur: null,
27897
+ onFocus: null,
27898
+ onInput: null,
27899
+ onKeyDown: null,
27900
+ onKeyUp: null,
27901
+ onPaste: null,
27845
27902
  tooltip: null,
27846
27903
  tooltipOptions: null,
27847
- onInput: null
27904
+ validateOnly: false
27848
27905
  };
27849
27906
 
27850
27907
  var radius = 40;
@@ -37118,7 +37175,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
37118
37175
  var childrenLength = props.children && props.children.length;
37119
37176
 
37120
37177
  var panelSize = function panelSize(sizes, index) {
37121
- return index in sizes ? sizes[index] : props.children[index].props.size || 100 / childrenLength;
37178
+ return index in sizes ? sizes[index] : (props.children[index] && props.children[index].props.size || 100) / childrenLength;
37122
37179
  };
37123
37180
 
37124
37181
  var _useEventListener = useEventListener({
@@ -38634,7 +38691,7 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
38634
38691
  }
38635
38692
 
38636
38693
  if (!item.items) {
38637
- onLeafClick();
38694
+ onLeafClick(event);
38638
38695
  }
38639
38696
  };
38640
38697
 
@@ -38690,9 +38747,10 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
38690
38747
  return prevItem ? DomHandler.hasClass(prevItem, 'p-disabled') || !DomHandler.hasClass(prevItem, 'p-menuitem') ? findPrevItem(prevItem) : prevItem : null;
38691
38748
  };
38692
38749
 
38693
- var onLeafClick = function onLeafClick() {
38750
+ var onLeafClick = function onLeafClick(event) {
38694
38751
  setActiveItemState(null);
38695
- props.onLeafClick && props.onLeafClick();
38752
+ props.onLeafClick && props.onLeafClick(event);
38753
+ props.onHide && props.onHide(event);
38696
38754
  };
38697
38755
 
38698
38756
  useMountEffect(function () {
@@ -38883,9 +38941,11 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
38883
38941
  };
38884
38942
 
38885
38943
  var hide = function hide(event) {
38886
- targetRef.current = event.currentTarget;
38887
- setVisibleState(false);
38888
- props.onHide && props.onHide(event);
38944
+ if (props.popup) {
38945
+ targetRef.current = event.currentTarget;
38946
+ setVisibleState(false);
38947
+ props.onHide && props.onHide(event);
38948
+ }
38889
38949
  };
38890
38950
 
38891
38951
  var onEnter = function onEnter() {
@@ -38954,7 +39014,8 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
38954
39014
  menuProps: props,
38955
39015
  model: props.model,
38956
39016
  root: true,
38957
- popup: props.popup
39017
+ popup: props.popup,
39018
+ onHide: hide
38958
39019
  })));
38959
39020
  };
38960
39021
 
@@ -42564,9 +42625,10 @@ var primereact = (function (exports, React, reactTransitionGroup, ReactDOM) {
42564
42625
  var headerTooltip = column.props.headerTooltip;
42565
42626
  var hasTooltip = ObjectUtils.isNotEmpty(headerTooltip);
42566
42627
  var resizer = createResizer(column);
42567
- return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/React__namespace.createElement("th", {
42628
+ return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, {
42629
+ key: column.columnKey || column.field || options.index
42630
+ }, /*#__PURE__*/React__namespace.createElement("th", {
42568
42631
  ref: headerCellRef,
42569
- key: column.columnKey || column.field || options.index,
42570
42632
  className: className,
42571
42633
  style: column.props.headerStyle || column.props.style,
42572
42634
  tabIndex: column.props.sortable ? props.tabIndex : null,