primereact 8.7.0 → 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 (113) hide show
  1. package/accordion/accordion.d.ts +1 -1
  2. package/autocomplete/autocomplete.cjs.js +6 -2
  3. package/autocomplete/autocomplete.cjs.min.js +1 -1
  4. package/autocomplete/autocomplete.d.ts +1 -0
  5. package/autocomplete/autocomplete.esm.js +6 -2
  6. package/autocomplete/autocomplete.esm.min.js +1 -1
  7. package/autocomplete/autocomplete.js +6 -2
  8. package/autocomplete/autocomplete.min.js +1 -1
  9. package/calendar/calendar.cjs.js +28 -3
  10. package/calendar/calendar.cjs.min.js +1 -1
  11. package/calendar/calendar.esm.js +28 -3
  12. package/calendar/calendar.esm.min.js +1 -1
  13. package/calendar/calendar.js +28 -3
  14. package/calendar/calendar.min.js +1 -1
  15. package/column/column.d.ts +1 -0
  16. package/core/core.js +41 -17
  17. package/core/core.min.js +6 -6
  18. package/datatable/datatable.cjs.js +2 -0
  19. package/datatable/datatable.cjs.min.js +1 -1
  20. package/datatable/datatable.esm.js +2 -0
  21. package/datatable/datatable.esm.min.js +1 -1
  22. package/datatable/datatable.js +2 -0
  23. package/datatable/datatable.min.js +1 -1
  24. package/image/image.cjs.js +4 -2
  25. package/image/image.cjs.min.js +1 -1
  26. package/image/image.d.ts +2 -2
  27. package/image/image.esm.js +4 -2
  28. package/image/image.esm.min.js +1 -1
  29. package/image/image.js +4 -2
  30. package/image/image.min.js +1 -1
  31. package/inputnumber/inputnumber.cjs.js +12 -1
  32. package/inputnumber/inputnumber.cjs.min.js +1 -1
  33. package/inputnumber/inputnumber.d.ts +1 -0
  34. package/inputnumber/inputnumber.esm.js +12 -1
  35. package/inputnumber/inputnumber.esm.min.js +1 -1
  36. package/inputnumber/inputnumber.js +12 -1
  37. package/inputnumber/inputnumber.min.js +1 -1
  38. package/inputtext/inputtext.cjs.js +4 -4
  39. package/inputtext/inputtext.cjs.min.js +1 -1
  40. package/inputtext/inputtext.d.ts +5 -3
  41. package/inputtext/inputtext.esm.js +4 -4
  42. package/inputtext/inputtext.esm.min.js +1 -1
  43. package/inputtext/inputtext.js +4 -4
  44. package/inputtext/inputtext.min.js +1 -1
  45. package/inputtextarea/inputtextarea.cjs.js +28 -2
  46. package/inputtextarea/inputtextarea.cjs.min.js +1 -1
  47. package/inputtextarea/inputtextarea.d.ts +6 -2
  48. package/inputtextarea/inputtextarea.esm.js +28 -2
  49. package/inputtextarea/inputtextarea.esm.min.js +1 -1
  50. package/inputtextarea/inputtextarea.js +29 -4
  51. package/inputtextarea/inputtextarea.min.js +1 -1
  52. package/keyfilter/keyfilter.cjs.js +2 -1
  53. package/keyfilter/keyfilter.cjs.min.js +1 -1
  54. package/keyfilter/keyfilter.esm.js +2 -1
  55. package/keyfilter/keyfilter.esm.min.js +1 -1
  56. package/keyfilter/keyfilter.js +2 -1
  57. package/keyfilter/keyfilter.min.js +1 -1
  58. package/mention/mention.cjs.js +28 -2
  59. package/mention/mention.cjs.min.js +1 -1
  60. package/mention/mention.esm.js +28 -2
  61. package/mention/mention.esm.min.js +1 -1
  62. package/mention/mention.js +29 -4
  63. package/mention/mention.min.js +1 -1
  64. package/package.json +1 -2
  65. package/primereact.all.cjs.js +124 -37
  66. package/primereact.all.cjs.min.js +1 -1
  67. package/primereact.all.esm.js +124 -37
  68. package/primereact.all.esm.min.js +1 -1
  69. package/primereact.all.js +124 -37
  70. package/primereact.all.min.js +1 -1
  71. package/resources/primereact.css +91 -86
  72. package/resources/primereact.min.css +1 -1
  73. package/ripple/ripple.cjs.js +18 -7
  74. package/ripple/ripple.cjs.min.js +1 -1
  75. package/ripple/ripple.esm.js +18 -7
  76. package/ripple/ripple.esm.min.js +1 -1
  77. package/ripple/ripple.js +18 -7
  78. package/ripple/ripple.min.js +1 -1
  79. package/splitter/splitter.cjs.js +2 -6
  80. package/splitter/splitter.cjs.min.js +1 -1
  81. package/splitter/splitter.esm.js +2 -6
  82. package/splitter/splitter.esm.min.js +1 -1
  83. package/splitter/splitter.js +2 -6
  84. package/splitter/splitter.min.js +1 -1
  85. package/tieredmenu/tieredmenu.cjs.js +11 -7
  86. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  87. package/tieredmenu/tieredmenu.esm.js +11 -7
  88. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  89. package/tieredmenu/tieredmenu.js +11 -7
  90. package/tieredmenu/tieredmenu.min.js +1 -1
  91. package/timeline/timeline.d.ts +1 -1
  92. package/toast/toast.min.css +1 -1
  93. package/tooltip/tooltip.cjs.js +3 -4
  94. package/tooltip/tooltip.cjs.min.js +1 -1
  95. package/tooltip/tooltip.esm.js +3 -4
  96. package/tooltip/tooltip.esm.min.js +1 -1
  97. package/tooltip/tooltip.js +3 -4
  98. package/tooltip/tooltip.min.js +1 -1
  99. package/treetable/treetable.cjs.js +3 -2
  100. package/treetable/treetable.cjs.min.js +1 -1
  101. package/treetable/treetable.esm.js +3 -2
  102. package/treetable/treetable.esm.min.js +1 -1
  103. package/treetable/treetable.js +3 -2
  104. package/treetable/treetable.min.js +1 -1
  105. package/utils/utils.cjs.js +2 -0
  106. package/utils/utils.cjs.min.js +1 -1
  107. package/utils/utils.d.ts +1 -1
  108. package/utils/utils.esm.js +2 -0
  109. package/utils/utils.esm.min.js +1 -1
  110. package/utils/utils.js +2 -0
  111. package/utils/utils.min.js +1 -1
  112. package/web-types.json +15 -3
  113. package/index.d.ts +0 -105
@@ -1970,6 +1970,8 @@ var ObjectUtils = /*#__PURE__*/function () {
1970
1970
  if (data && Object.keys(data).length && field) {
1971
1971
  if (this.isFunction(field)) {
1972
1972
  return field(data);
1973
+ } else if (ObjectUtils.isNotEmpty(data[field])) {
1974
+ return data[field];
1973
1975
  } else if (field.indexOf('.') === -1) {
1974
1976
  return data[field];
1975
1977
  } else {
@@ -3648,11 +3650,25 @@ var Ripple = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function ()
3648
3650
  };
3649
3651
 
3650
3652
  var onTouchStart = function onTouchStart(event) {
3651
- onMouseDown(event);
3652
- event.preventDefault();
3653
+ var offset = DomHandler.getOffset(targetRef.current);
3654
+ var offsetX = event.targetTouches[0].pageX - offset.left + document.body.scrollTop - DomHandler.getWidth(inkRef.current) / 2;
3655
+ var offsetY = event.targetTouches[0].pageY - offset.top + document.body.scrollLeft - DomHandler.getHeight(inkRef.current) / 2;
3656
+ activateRipple(offsetX, offsetY);
3653
3657
  };
3654
3658
 
3655
3659
  var onMouseDown = function onMouseDown(event) {
3660
+ if (DomHandler.isTouchDevice()) {
3661
+ // already started ripple with onTouchStart
3662
+ return;
3663
+ }
3664
+
3665
+ var offset = DomHandler.getOffset(targetRef.current);
3666
+ var offsetX = event.pageX - offset.left + document.body.scrollTop - DomHandler.getWidth(inkRef.current) / 2;
3667
+ var offsetY = event.pageY - offset.top + document.body.scrollLeft - DomHandler.getHeight(inkRef.current) / 2;
3668
+ activateRipple(offsetX, offsetY);
3669
+ };
3670
+
3671
+ var activateRipple = function activateRipple(offsetX, offsetY) {
3656
3672
  if (!inkRef.current || getComputedStyle(inkRef.current, null).display === 'none') {
3657
3673
  return;
3658
3674
  }
@@ -3665,11 +3681,8 @@ var Ripple = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function ()
3665
3681
  inkRef.current.style.width = d + 'px';
3666
3682
  }
3667
3683
 
3668
- var offset = DomHandler.getOffset(targetRef.current);
3669
- var x = event.pageX - offset.left + document.body.scrollTop - DomHandler.getWidth(inkRef.current) / 2;
3670
- var y = event.pageY - offset.top + document.body.scrollLeft - DomHandler.getHeight(inkRef.current) / 2;
3671
- inkRef.current.style.top = y + 'px';
3672
- inkRef.current.style.left = x + 'px';
3684
+ inkRef.current.style.top = offsetY + 'px';
3685
+ inkRef.current.style.left = offsetX + 'px';
3673
3686
  DomHandler.addClass(inkRef.current, 'p-ink-active');
3674
3687
  };
3675
3688
 
@@ -4181,14 +4194,13 @@ var Tooltip = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
4181
4194
  }
4182
4195
  };
4183
4196
 
4184
- React.useEffect(function () {
4197
+ useMountEffect(function () {
4198
+ loadTargetEvents();
4199
+
4185
4200
  if (visibleState && currentTargetRef.current && isDisabled(currentTargetRef.current)) {
4186
4201
  hide();
4187
4202
  }
4188
4203
  });
4189
- useMountEffect(function () {
4190
- loadTargetEvents();
4191
- });
4192
4204
  useUpdateEffect(function () {
4193
4205
  loadTargetEvents();
4194
4206
  return function () {
@@ -4459,8 +4471,9 @@ var KeyFilter = {
4459
4471
  validate: function validate(e, keyfilter) {
4460
4472
  var value = e.target.value,
4461
4473
  validatePattern = true;
4474
+ var regex = this.getRegex(keyfilter);
4462
4475
 
4463
- if (value && !keyfilter.test(value)) {
4476
+ if (value && !regex.test(value)) {
4464
4477
  validatePattern = false;
4465
4478
  }
4466
4479
 
@@ -4471,8 +4484,8 @@ var KeyFilter = {
4471
4484
  var InputText = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (props, ref) {
4472
4485
  var elementRef = React.useRef(ref);
4473
4486
 
4474
- var onKeyPress = function onKeyPress(event) {
4475
- props.onKeyPress && props.onKeyPress(event);
4487
+ var onKeyDown = function onKeyDown(event) {
4488
+ props.onKeyDown && props.onKeyDown(event);
4476
4489
 
4477
4490
  if (props.keyfilter) {
4478
4491
  KeyFilter.onKeyPress(event, props.keyfilter, props.validateOnly);
@@ -4520,7 +4533,7 @@ var InputText = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
4520
4533
  }, otherProps, {
4521
4534
  className: className,
4522
4535
  onInput: onInput,
4523
- onKeyPress: onKeyPress,
4536
+ onKeyDown: onKeyDown,
4524
4537
  onPaste: onPaste
4525
4538
  })), hasTooltip && /*#__PURE__*/React.createElement(Tooltip, _extends({
4526
4539
  target: elementRef,
@@ -4535,7 +4548,7 @@ InputText.defaultProps = {
4535
4548
  tooltip: null,
4536
4549
  tooltipOptions: null,
4537
4550
  onInput: null,
4538
- onKeyPress: null,
4551
+ onKeyDown: null,
4539
4552
  onPaste: null
4540
4553
  };
4541
4554
 
@@ -5644,8 +5657,11 @@ var AutoComplete = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functi
5644
5657
  inputRef.current.value = '';
5645
5658
 
5646
5659
  if (!isSelected(option)) {
5647
- var newValue = props.value ? [].concat(_toConsumableArray(props.value), [option]) : [option];
5648
- updateModel(event, newValue);
5660
+ // allows empty value/selectionlimit and within sectionlimit
5661
+ if (!props.value || !props.selectionLimit || props.value.length < props.selectionLimit) {
5662
+ var newValue = props.value ? [].concat(_toConsumableArray(props.value), [option]) : [option];
5663
+ updateModel(event, newValue);
5664
+ }
5649
5665
  }
5650
5666
  } else {
5651
5667
  updateInputField(option);
@@ -6247,6 +6263,7 @@ AutoComplete.defaultProps = {
6247
6263
  removeIcon: 'pi pi-times-circle',
6248
6264
  scrollHeight: '200px',
6249
6265
  selectedItemTemplate: null,
6266
+ selectionLimit: null,
6250
6267
  showEmptyMessage: false,
6251
6268
  size: null,
6252
6269
  style: null,
@@ -8636,7 +8653,7 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
8636
8653
  if (value) {
8637
8654
  try {
8638
8655
  if (isSingleSelection()) {
8639
- formattedValue = isValidDate(value) ? formatDateTime(value) : '';
8656
+ formattedValue = isValidDate(value) ? formatDateTime(value) : props.keepInvalid ? value : '';
8640
8657
  } else if (isMultipleSelection()) {
8641
8658
  for (var i = 0; i < value.length; i++) {
8642
8659
  var selectedValue = value[i];
@@ -9191,8 +9208,33 @@ var Calendar = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
9191
9208
  }
9192
9209
  }, [props.onViewDateChange, props.value]);
9193
9210
  useUpdateEffect(function () {
9194
- if (previousValue !== props.value && (!viewStateChanged.current || visible)) {
9195
- updateInputfield(props.value);
9211
+ var newDate = props.value;
9212
+
9213
+ if (previousValue !== newDate) {
9214
+ updateInputfield(newDate); // #3516 view date not updated when value set programatically
9215
+
9216
+ if (!visible && newDate) {
9217
+ var viewDate = newDate;
9218
+
9219
+ if (isMultipleSelection()) {
9220
+ if (newDate.length) {
9221
+ viewDate = newDate[newDate.length - 1];
9222
+ }
9223
+ } else if (isRangeSelection()) {
9224
+ if (newDate.length) {
9225
+ var startDate = newDate[0];
9226
+ var endDate = newDate[1];
9227
+ viewDate = endDate || startDate;
9228
+ }
9229
+ }
9230
+
9231
+ if (viewDate instanceof Date) {
9232
+ validateDate(viewDate);
9233
+ setViewDateState(viewDate);
9234
+ setCurrentMonth(viewDate.getMonth());
9235
+ setCurrentYear(viewDate.getFullYear());
9236
+ }
9237
+ }
9196
9238
  }
9197
9239
  }, [props.value, visible]);
9198
9240
  useUpdateEffect(function () {
@@ -15000,7 +15042,12 @@ var InputNumber = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
15000
15042
  if (inputRef.current) {
15001
15043
  var step = props.step * dir;
15002
15044
  var currentValue = parseValue(inputRef.current.value) || 0;
15003
- var newValue = validateValue(currentValue + step); // touch devices trigger the keyboard to display because of setSelectionRange
15045
+ var newValue = validateValue(currentValue + step);
15046
+
15047
+ if (props.maxLength && props.maxLength < formatValue(newValue).length) {
15048
+ return;
15049
+ } // touch devices trigger the keyboard to display because of setSelectionRange
15050
+
15004
15051
 
15005
15052
  !DomHandler.isTouchDevice() && updateInput(newValue, null, 'spin');
15006
15053
  updateModel(event, newValue);
@@ -15605,6 +15652,11 @@ var InputNumber = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
15605
15652
  } else {
15606
15653
  var selectionStart = inputEl.selectionStart;
15607
15654
  var _selectionEnd = inputEl.selectionEnd;
15655
+
15656
+ if (props.maxLength && props.maxLength < newValue.length) {
15657
+ return;
15658
+ }
15659
+
15608
15660
  inputEl.value = newValue;
15609
15661
  var newLength = newValue.length;
15610
15662
 
@@ -15922,6 +15974,7 @@ InputNumber.defaultProps = {
15922
15974
  localeMatcher: undefined,
15923
15975
  max: null,
15924
15976
  maxFractionDigits: undefined,
15977
+ maxLength: null,
15925
15978
  min: null,
15926
15979
  minFractionDigits: undefined,
15927
15980
  mode: 'decimal',
@@ -18525,6 +18578,8 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
18525
18578
  content = value;
18526
18579
  }
18527
18580
 
18581
+ content = typeof content == 'boolean' ? content.toString() : content;
18582
+
18528
18583
  if (!isRowEditor && editor) {
18529
18584
  /* eslint-disable */
18530
18585
  editorKeyHelper = /*#__PURE__*/React.createElement("a", {
@@ -26816,11 +26871,13 @@ Image.defaultProps = {
26816
26871
  imageClassName: null,
26817
26872
  imageStyle: null,
26818
26873
  onError: null,
26874
+ onHide: null,
26875
+ onShow: null,
26819
26876
  preview: false,
26820
- zoomSrc: null,
26821
26877
  src: null,
26822
26878
  template: null,
26823
- width: null
26879
+ width: null,
26880
+ zoomSrc: null
26824
26881
  };
26825
26882
 
26826
26883
  var InplaceDisplay = function InplaceDisplay(props) {
@@ -27724,6 +27781,22 @@ var InputTextarea = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(funct
27724
27781
  props.onKeyUp && props.onKeyUp(event);
27725
27782
  };
27726
27783
 
27784
+ var onKeyDown = function onKeyDown(event) {
27785
+ props.onKeyDown && props.onKeyDown(event);
27786
+
27787
+ if (props.keyfilter) {
27788
+ KeyFilter.onKeyPress(event, props.keyfilter, props.validateOnly);
27789
+ }
27790
+ };
27791
+
27792
+ var onPaste = function onPaste(event) {
27793
+ props.onPaste && props.onPaste(event);
27794
+
27795
+ if (props.keyfilter) {
27796
+ KeyFilter.onPaste(event, props.keyfilter, props.validateOnly);
27797
+ }
27798
+ };
27799
+
27727
27800
  var onInput = function onInput(event) {
27728
27801
  if (props.autoResize) {
27729
27802
  resize();
@@ -27785,7 +27858,9 @@ var InputTextarea = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(funct
27785
27858
  onFocus: onFocus,
27786
27859
  onBlur: onBlur,
27787
27860
  onKeyUp: onKeyUp,
27788
- onInput: onInput
27861
+ onKeyDown: onKeyDown,
27862
+ onInput: onInput,
27863
+ onPaste: onPaste
27789
27864
  })), hasTooltip && /*#__PURE__*/React.createElement(Tooltip, _extends({
27790
27865
  target: elementRef,
27791
27866
  content: props.tooltip
@@ -27795,9 +27870,16 @@ InputTextarea.displayName = 'InputTextarea';
27795
27870
  InputTextarea.defaultProps = {
27796
27871
  __TYPE: 'InputTextarea',
27797
27872
  autoResize: false,
27873
+ keyfilter: null,
27874
+ onBlur: null,
27875
+ onFocus: null,
27876
+ onInput: null,
27877
+ onKeyDown: null,
27878
+ onKeyUp: null,
27879
+ onPaste: null,
27798
27880
  tooltip: null,
27799
27881
  tooltipOptions: null,
27800
- onInput: null
27882
+ validateOnly: false
27801
27883
  };
27802
27884
 
27803
27885
  var radius = 40;
@@ -37071,7 +37153,7 @@ var Splitter = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
37071
37153
  var childrenLength = props.children && props.children.length;
37072
37154
 
37073
37155
  var panelSize = function panelSize(sizes, index) {
37074
- return index in sizes ? sizes[index] : (props.children[index].props.size || 100) / childrenLength;
37156
+ return index in sizes ? sizes[index] : (props.children[index] && props.children[index].props.size || 100) / childrenLength;
37075
37157
  };
37076
37158
 
37077
37159
  var _useEventListener = useEventListener({
@@ -37193,7 +37275,7 @@ var Splitter = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
37193
37275
  setPanelSizes(function (prev) {
37194
37276
  var sizes = [];
37195
37277
 
37196
- for (var index = 0; index < props.children.length; _readOnlyError("index")) {
37278
+ for (var index = 0; index < props.children.length; index++) {
37197
37279
  sizes[index] = panelSize(prev, index);
37198
37280
  }
37199
37281
 
@@ -38587,7 +38669,7 @@ var TieredMenuSub = /*#__PURE__*/React.memo(function (props) {
38587
38669
  }
38588
38670
 
38589
38671
  if (!item.items) {
38590
- onLeafClick();
38672
+ onLeafClick(event);
38591
38673
  }
38592
38674
  };
38593
38675
 
@@ -38643,9 +38725,10 @@ var TieredMenuSub = /*#__PURE__*/React.memo(function (props) {
38643
38725
  return prevItem ? DomHandler.hasClass(prevItem, 'p-disabled') || !DomHandler.hasClass(prevItem, 'p-menuitem') ? findPrevItem(prevItem) : prevItem : null;
38644
38726
  };
38645
38727
 
38646
- var onLeafClick = function onLeafClick() {
38728
+ var onLeafClick = function onLeafClick(event) {
38647
38729
  setActiveItemState(null);
38648
- props.onLeafClick && props.onLeafClick();
38730
+ props.onLeafClick && props.onLeafClick(event);
38731
+ props.onHide && props.onHide(event);
38649
38732
  };
38650
38733
 
38651
38734
  useMountEffect(function () {
@@ -38836,9 +38919,11 @@ var TieredMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
38836
38919
  };
38837
38920
 
38838
38921
  var hide = function hide(event) {
38839
- targetRef.current = event.currentTarget;
38840
- setVisibleState(false);
38841
- props.onHide && props.onHide(event);
38922
+ if (props.popup) {
38923
+ targetRef.current = event.currentTarget;
38924
+ setVisibleState(false);
38925
+ props.onHide && props.onHide(event);
38926
+ }
38842
38927
  };
38843
38928
 
38844
38929
  var onEnter = function onEnter() {
@@ -38907,7 +38992,8 @@ var TieredMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
38907
38992
  menuProps: props,
38908
38993
  model: props.model,
38909
38994
  root: true,
38910
- popup: props.popup
38995
+ popup: props.popup,
38996
+ onHide: hide
38911
38997
  })));
38912
38998
  };
38913
38999
 
@@ -42517,9 +42603,10 @@ var TreeTableHeader = /*#__PURE__*/React.memo(function (props) {
42517
42603
  var headerTooltip = column.props.headerTooltip;
42518
42604
  var hasTooltip = ObjectUtils.isNotEmpty(headerTooltip);
42519
42605
  var resizer = createResizer(column);
42520
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("th", {
42606
+ return /*#__PURE__*/React.createElement(React.Fragment, {
42607
+ key: column.columnKey || column.field || options.index
42608
+ }, /*#__PURE__*/React.createElement("th", {
42521
42609
  ref: headerCellRef,
42522
- key: column.columnKey || column.field || options.index,
42523
42610
  className: className,
42524
42611
  style: column.props.headerStyle || column.props.style,
42525
42612
  tabIndex: column.props.sortable ? props.tabIndex : null,