primereact 10.3.2 → 10.4.0

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 (161) hide show
  1. package/accordion/accordion.cjs.js +1 -1
  2. package/accordion/accordion.cjs.min.js +1 -1
  3. package/accordion/accordion.esm.js +1 -1
  4. package/accordion/accordion.esm.min.js +1 -1
  5. package/accordion/accordion.js +1 -1
  6. package/accordion/accordion.min.js +1 -1
  7. package/api/api.cjs.js +20 -0
  8. package/api/api.cjs.min.js +1 -1
  9. package/api/api.d.ts +5 -1
  10. package/api/api.esm.js +20 -0
  11. package/api/api.esm.min.js +1 -1
  12. package/api/api.js +20 -0
  13. package/api/api.min.js +1 -1
  14. package/calendar/calendar.cjs.js +509 -150
  15. package/calendar/calendar.cjs.min.js +1 -1
  16. package/calendar/calendar.d.ts +4 -0
  17. package/calendar/calendar.esm.js +510 -151
  18. package/calendar/calendar.esm.min.js +1 -1
  19. package/calendar/calendar.js +509 -150
  20. package/calendar/calendar.min.js +1 -1
  21. package/carousel/carousel.cjs.js +1 -0
  22. package/carousel/carousel.cjs.min.js +1 -1
  23. package/carousel/carousel.esm.js +1 -0
  24. package/carousel/carousel.esm.min.js +1 -1
  25. package/carousel/carousel.js +1 -0
  26. package/carousel/carousel.min.js +1 -1
  27. package/chips/chips.cjs.js +2 -1
  28. package/chips/chips.cjs.min.js +1 -1
  29. package/chips/chips.esm.js +2 -1
  30. package/chips/chips.esm.min.js +1 -1
  31. package/chips/chips.js +2 -1
  32. package/chips/chips.min.js +1 -1
  33. package/contextmenu/contextmenu.cjs.js +4 -4
  34. package/contextmenu/contextmenu.cjs.min.js +1 -1
  35. package/contextmenu/contextmenu.esm.js +4 -4
  36. package/contextmenu/contextmenu.esm.min.js +1 -1
  37. package/contextmenu/contextmenu.js +4 -4
  38. package/contextmenu/contextmenu.min.js +1 -1
  39. package/core/core.js +93 -40
  40. package/core/core.min.js +4 -4
  41. package/datatable/datatable.cjs.js +577 -150
  42. package/datatable/datatable.cjs.min.js +1 -1
  43. package/datatable/datatable.esm.js +573 -146
  44. package/datatable/datatable.esm.min.js +1 -1
  45. package/datatable/datatable.js +577 -150
  46. package/datatable/datatable.min.js +1 -1
  47. package/dataview/dataview.cjs.js +27 -25
  48. package/dataview/dataview.cjs.min.js +1 -1
  49. package/dataview/dataview.d.ts +7 -1
  50. package/dataview/dataview.esm.js +27 -25
  51. package/dataview/dataview.esm.min.js +1 -1
  52. package/dataview/dataview.js +27 -25
  53. package/dataview/dataview.min.js +1 -1
  54. package/divider/divider.cjs.js +2 -2
  55. package/divider/divider.cjs.min.js +1 -1
  56. package/divider/divider.esm.js +2 -2
  57. package/divider/divider.esm.min.js +1 -1
  58. package/divider/divider.js +2 -2
  59. package/divider/divider.min.js +1 -1
  60. package/dropdown/dropdown.cjs.js +20 -25
  61. package/dropdown/dropdown.cjs.min.js +1 -1
  62. package/dropdown/dropdown.d.ts +9 -0
  63. package/dropdown/dropdown.esm.js +20 -25
  64. package/dropdown/dropdown.esm.min.js +1 -1
  65. package/dropdown/dropdown.js +20 -25
  66. package/dropdown/dropdown.min.js +1 -1
  67. package/editor/editor.cjs.js +1 -1
  68. package/editor/editor.cjs.min.js +1 -1
  69. package/editor/editor.esm.js +1 -1
  70. package/editor/editor.esm.min.js +1 -1
  71. package/editor/editor.js +1 -1
  72. package/editor/editor.min.js +1 -1
  73. package/focustrap/focustrap.cjs.js +168 -0
  74. package/focustrap/focustrap.cjs.min.js +1 -0
  75. package/focustrap/focustrap.esm.js +159 -0
  76. package/focustrap/focustrap.esm.min.js +1 -0
  77. package/focustrap/focustrap.js +167 -0
  78. package/focustrap/focustrap.min.js +1 -0
  79. package/focustrap/package.json +7 -0
  80. package/galleria/galleria.cjs.js +26 -24
  81. package/galleria/galleria.cjs.min.js +1 -1
  82. package/galleria/galleria.esm.js +26 -24
  83. package/galleria/galleria.esm.min.js +1 -1
  84. package/galleria/galleria.js +26 -24
  85. package/galleria/galleria.min.js +1 -1
  86. package/hooks/hooks.d.ts +1 -1
  87. package/menubar/menubar.cjs.js +7 -4
  88. package/menubar/menubar.cjs.min.js +1 -1
  89. package/menubar/menubar.esm.js +7 -4
  90. package/menubar/menubar.esm.min.js +1 -1
  91. package/menubar/menubar.js +7 -4
  92. package/menubar/menubar.min.js +1 -1
  93. package/package.json +1 -1
  94. package/paginator/paginator.cjs.js +20 -0
  95. package/paginator/paginator.cjs.min.js +1 -1
  96. package/paginator/paginator.esm.js +20 -0
  97. package/paginator/paginator.esm.min.js +1 -1
  98. package/paginator/paginator.js +20 -0
  99. package/paginator/paginator.min.js +1 -1
  100. package/panelmenu/panelmenu.cjs.js +32 -21
  101. package/panelmenu/panelmenu.cjs.min.js +1 -1
  102. package/panelmenu/panelmenu.esm.js +32 -21
  103. package/panelmenu/panelmenu.esm.min.js +1 -1
  104. package/panelmenu/panelmenu.js +32 -21
  105. package/panelmenu/panelmenu.min.js +1 -1
  106. package/picklist/picklist.cjs.js +20 -0
  107. package/picklist/picklist.cjs.min.js +1 -1
  108. package/picklist/picklist.esm.js +20 -0
  109. package/picklist/picklist.esm.min.js +1 -1
  110. package/picklist/picklist.js +20 -0
  111. package/picklist/picklist.min.js +1 -1
  112. package/primereact.all.cjs.js +1499 -725
  113. package/primereact.all.cjs.min.js +1 -1
  114. package/primereact.all.esm.js +1499 -725
  115. package/primereact.all.esm.min.js +1 -1
  116. package/primereact.all.js +1499 -725
  117. package/primereact.all.min.js +1 -1
  118. package/sidebar/sidebar.cjs.js +18 -16
  119. package/sidebar/sidebar.cjs.min.js +1 -1
  120. package/sidebar/sidebar.esm.js +18 -16
  121. package/sidebar/sidebar.esm.min.js +1 -1
  122. package/sidebar/sidebar.js +18 -16
  123. package/sidebar/sidebar.min.js +1 -1
  124. package/splitbutton/splitbutton.cjs.js +8 -7
  125. package/splitbutton/splitbutton.cjs.min.js +1 -1
  126. package/splitbutton/splitbutton.esm.js +8 -7
  127. package/splitbutton/splitbutton.esm.min.js +1 -1
  128. package/splitbutton/splitbutton.js +8 -7
  129. package/splitbutton/splitbutton.min.js +1 -1
  130. package/splitter/splitter.cjs.js +57 -12
  131. package/splitter/splitter.cjs.min.js +1 -1
  132. package/splitter/splitter.d.ts +13 -1
  133. package/splitter/splitter.esm.js +59 -14
  134. package/splitter/splitter.esm.min.js +1 -1
  135. package/splitter/splitter.js +57 -12
  136. package/splitter/splitter.min.js +1 -1
  137. package/tieredmenu/tieredmenu.cjs.js +8 -7
  138. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  139. package/tieredmenu/tieredmenu.esm.js +8 -7
  140. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  141. package/tieredmenu/tieredmenu.js +8 -7
  142. package/tieredmenu/tieredmenu.min.js +1 -1
  143. package/toast/toast.cjs.js +20 -0
  144. package/toast/toast.cjs.min.js +1 -1
  145. package/toast/toast.esm.js +20 -0
  146. package/toast/toast.esm.min.js +1 -1
  147. package/toast/toast.js +20 -0
  148. package/toast/toast.min.js +1 -1
  149. package/tree/tree.cjs.js +33 -15
  150. package/tree/tree.cjs.min.js +1 -1
  151. package/tree/tree.esm.js +34 -16
  152. package/tree/tree.esm.min.js +1 -1
  153. package/tree/tree.js +33 -15
  154. package/tree/tree.min.js +1 -1
  155. package/treetable/treetable.cjs.js +205 -68
  156. package/treetable/treetable.cjs.min.js +1 -1
  157. package/treetable/treetable.esm.js +206 -69
  158. package/treetable/treetable.esm.min.js +1 -1
  159. package/treetable/treetable.js +205 -68
  160. package/treetable/treetable.min.js +1 -1
  161. package/web-types.json +34 -1
@@ -659,6 +659,7 @@ this.primereact.treetable = (function (exports, React, PrimeReact, componentbase
659
659
  var align = getColumnProp('align');
660
660
  /* eslint-enable */
661
661
  var bodyCellProps = mergeProps({
662
+ role: 'cell',
662
663
  className: utils.classNames(bodyClassName || props.className, cx('bodyCell', {
663
664
  bodyProps: props,
664
665
  editingState: editingState,
@@ -754,11 +755,13 @@ this.primereact.treetable = (function (exports, React, PrimeReact, componentbase
754
755
  event.stopPropagation();
755
756
  };
756
757
  var expand = function expand(event) {
758
+ var navigateFocusToChild = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
757
759
  var expandedKeys = props.expandedKeys ? _objectSpread$4({}, props.expandedKeys) : {};
758
760
  expandedKeys[props.node.key] = true;
759
761
  props.onToggle({
760
762
  originalEvent: event,
761
- value: expandedKeys
763
+ value: expandedKeys,
764
+ navigateFocusToChild: navigateFocusToChild
762
765
  });
763
766
  invokeToggleEvents(event, true);
764
767
  };
@@ -939,49 +942,147 @@ this.primereact.treetable = (function (exports, React, PrimeReact, componentbase
939
942
  });
940
943
  }
941
944
  };
942
- var _onKeyDown = function onKeyDown(event) {
943
- if (event.target === elementRef.current) {
944
- var rowElement = event.currentTarget;
945
- switch (event.which) {
946
- //down arrow
947
- case 40:
948
- var nextRow = rowElement.nextElementSibling;
949
- if (nextRow) {
950
- nextRow.focus();
951
- }
952
- event.preventDefault();
953
- break;
945
+ var _onKeyDown = function onKeyDown(event, item) {
946
+ switch (event.code) {
947
+ case 'ArrowDown':
948
+ onArrowDownKey(event);
949
+ break;
950
+ case 'ArrowUp':
951
+ onArrowUpKey(event);
952
+ break;
953
+ case 'ArrowLeft':
954
+ onArrowLeftKey(event);
955
+ break;
956
+ case 'ArrowRight':
957
+ onArrowRightKey(event);
958
+ break;
959
+ case 'Home':
960
+ onHomeKey(event);
961
+ break;
962
+ case 'End':
963
+ onEndKey(event);
964
+ break;
965
+ case 'Enter':
966
+ case 'NumpadEnter':
967
+ case 'Space':
968
+ if (!utils.DomHandler.isClickable(event.target)) {
969
+ onEnterKey(event);
970
+ }
971
+ break;
972
+ case 'Tab':
973
+ onTabKey();
974
+ break;
975
+ }
976
+ };
977
+ var onArrowDownKey = function onArrowDownKey(event) {
978
+ var nextElementSibling = event.currentTarget.nextElementSibling;
979
+ nextElementSibling && focusRowChange(event.currentTarget, nextElementSibling);
980
+ event.preventDefault();
981
+ };
982
+ var onArrowUpKey = function onArrowUpKey(event) {
983
+ var previousElementSibling = event.currentTarget.previousElementSibling;
984
+ previousElementSibling && focusRowChange(event.currentTarget, previousElementSibling);
985
+ event.preventDefault();
986
+ };
987
+ var onArrowRightKey = function onArrowRightKey(event) {
988
+ var ishiddenIcon = utils.DomHandler.findSingle(event.currentTarget, 'button').style.visibility === 'hidden';
989
+ utils.DomHandler.findSingle(elementRef.current, '[data-pc-section="rowtoggler"]');
990
+ if (ishiddenIcon) return;
954
991
 
955
- //up arrow
956
- case 38:
957
- var previousRow = rowElement.previousElementSibling;
958
- if (previousRow) {
959
- previousRow.focus();
960
- }
961
- event.preventDefault();
962
- break;
992
+ // !expanded && togglerElement.click();
993
+ !expanded && expand(event, true);
963
994
 
964
- //right arrow
965
- case 39:
966
- if (!expanded) {
967
- expand(event);
968
- }
969
- event.preventDefault();
970
- break;
995
+ // this.$nextTick(() => {
996
+ // this.onArrowDownKey(event);
997
+ // });
971
998
 
972
- //left arrow
973
- case 37:
974
- if (expanded) {
975
- collapse(event);
976
- }
977
- event.preventDefault();
978
- break;
999
+ event.preventDefault();
1000
+ };
1001
+ var onArrowLeftKey = function onArrowLeftKey(event) {
1002
+ if (props.level === 0 && !expanded) {
1003
+ return;
1004
+ }
1005
+ var currentTarget = event.currentTarget;
1006
+ var ishiddenIcon = utils.DomHandler.findSingle(currentTarget, 'button').style.visibility === 'hidden';
1007
+ utils.DomHandler.findSingle(currentTarget, '[data-pc-section="rowtoggler"]');
1008
+ if (expanded && !ishiddenIcon) {
1009
+ // togglerElement.click();
1010
+ collapse(event);
1011
+ return;
1012
+ }
1013
+ var target = findBeforeClickableNode(currentTarget);
1014
+ target && focusRowChange(currentTarget, target);
1015
+ };
1016
+ var onHomeKey = function onHomeKey(event) {
1017
+ var findFirstElement = utils.DomHandler.findSingle(event.currentTarget.parentElement, "tr[aria-level=\"".concat(props.level + 1, "\"]"));
1018
+ findFirstElement && utils.DomHandler.focus(findFirstElement);
1019
+ event.preventDefault();
1020
+ };
1021
+ var onEndKey = function onEndKey(event) {
1022
+ var nodes = utils.DomHandler.find(event.currentTarget.parentElement, "tr[aria-level=\"".concat(props.level + 1, "\"]"));
1023
+ var findFirstElement = nodes[nodes.length - 1];
1024
+ utils.DomHandler.focus(findFirstElement);
1025
+ event.preventDefault();
1026
+ };
1027
+ var onEnterKey = function onEnterKey(event) {
1028
+ event.preventDefault();
1029
+ setTabIndexForSelectionMode(event, nodeTouched.current);
1030
+ if (props.selectionMode === 'checkbox') {
1031
+ // this.toggleCheckbox();
1032
+ onCheckboxChange(event);
1033
+ return;
1034
+ }
1035
+
1036
+ // this.$emit('node-click', {
1037
+ // originalEvent: event,
1038
+ // nodeTouched: nodeTouched.current,
1039
+ // node: this.node
1040
+ // });
979
1041
 
980
- //enter
981
- case 13:
982
- _onClick(event);
983
- event.preventDefault();
984
- break;
1042
+ props.onRowClick(event, props.node);
1043
+ nodeTouched.current = false;
1044
+ };
1045
+ var onTabKey = function onTabKey() {
1046
+ var rows = _toConsumableArray(utils.DomHandler.find(elementRef.current.parentElement, 'tr'));
1047
+ var hasSelectedRow = rows.some(function (row) {
1048
+ return utils.DomHandler.getAttribute(row, 'data-p-highlight') || row.getAttribute('aria-checked') === 'true';
1049
+ });
1050
+ rows.forEach(function (row) {
1051
+ row.tabIndex = -1;
1052
+ });
1053
+ if (hasSelectedRow) {
1054
+ var selectedNodes = rows.filter(function (node) {
1055
+ return utils.DomHandler.getAttribute(node, 'data-p-highlight') || node.getAttribute('aria-checked') === 'true';
1056
+ });
1057
+ selectedNodes[0].tabIndex = 0;
1058
+ return;
1059
+ }
1060
+ rows[0].tabIndex = 0;
1061
+ };
1062
+ var focusRowChange = function focusRowChange(firstFocusableRow, currentFocusedRow) {
1063
+ firstFocusableRow.tabIndex = '-1';
1064
+ currentFocusedRow.tabIndex = '0';
1065
+ utils.DomHandler.focus(currentFocusedRow);
1066
+ };
1067
+ var findBeforeClickableNode = function findBeforeClickableNode(node) {
1068
+ var prevNode = node.previousElementSibling;
1069
+ if (prevNode) {
1070
+ var prevNodeButton = prevNode.querySelector('button');
1071
+ if (prevNodeButton && prevNodeButton.style.visibility !== 'hidden') {
1072
+ return prevNode;
1073
+ }
1074
+ return findBeforeClickableNode(prevNode);
1075
+ }
1076
+ return null;
1077
+ };
1078
+ var setTabIndexForSelectionMode = function setTabIndexForSelectionMode(event, nodeTouched) {
1079
+ if (props.selectionMode !== null) {
1080
+ var elements = _toConsumableArray(utils.DomHandler.find(elementRef.current.parentElement, 'tr'));
1081
+ event.currentTarget.tabIndex = nodeTouched === false ? -1 : 0;
1082
+ if (elements.every(function (element) {
1083
+ return element.tabIndex === -1;
1084
+ })) {
1085
+ elements[0].tabIndex = 0;
985
1086
  }
986
1087
  }
987
1088
  };
@@ -1166,6 +1267,12 @@ this.primereact.treetable = (function (exports, React, PrimeReact, componentbase
1166
1267
  var rowProps = mergeProps({
1167
1268
  tabIndex: 0,
1168
1269
  className: className,
1270
+ 'aria-expanded': expanded,
1271
+ 'aria-level': props.level + 1,
1272
+ 'aria-posinset': props.ariaPosInSet,
1273
+ 'aria-setsize': props.ariaSetSize,
1274
+ 'aria-checked': isChecked(),
1275
+ 'aria-selected': isSelected(),
1169
1276
  style: props.node.style,
1170
1277
  onClick: function onClick(e) {
1171
1278
  return _onClick(e);
@@ -1357,6 +1464,8 @@ this.primereact.treetable = (function (exports, React, PrimeReact, componentbase
1357
1464
  key: "".concat(node.key || JSON.stringify(node.data), "_").concat(index),
1358
1465
  level: 0,
1359
1466
  rowIndex: index,
1467
+ ariaSetSize: props.value.length,
1468
+ ariaPosInSet: index + 1,
1360
1469
  selectOnEdit: props.selectOnEdit,
1361
1470
  node: node,
1362
1471
  originalOptions: props.originalOptions,
@@ -1420,6 +1529,7 @@ this.primereact.treetable = (function (exports, React, PrimeReact, componentbase
1420
1529
  };
1421
1530
  var content = props.value && props.value.length ? createRows() : createEmptyMessage();
1422
1531
  var tbodyProps = mergeProps({
1532
+ role: 'rowgroup',
1423
1533
  className: cx('tbody')
1424
1534
  }, getPTOptions('tbody'));
1425
1535
  return /*#__PURE__*/React__namespace.createElement("tbody", tbodyProps, content);
@@ -1491,7 +1601,8 @@ this.primereact.treetable = (function (exports, React, PrimeReact, componentbase
1491
1601
  var rowColumns = React__namespace.Children.toArray(RowBase.getCProp(row, 'children'));
1492
1602
  var rowFooterCells = rowColumns.map(createFooterCell);
1493
1603
  var footerRowProps = mergeProps(ptm('footerRow', {
1494
- hostName: props.hostName
1604
+ hostName: props.hostName,
1605
+ role: 'row'
1495
1606
  }));
1496
1607
  return /*#__PURE__*/React__namespace.createElement("tr", _extends({}, footerRowProps, {
1497
1608
  key: index
@@ -1520,6 +1631,7 @@ this.primereact.treetable = (function (exports, React, PrimeReact, componentbase
1520
1631
  var content = props.columnGroup ? createColumnGroup() : createColumns(props.columns);
1521
1632
  if (hasFooter()) {
1522
1633
  var tfootProps = mergeProps({
1634
+ role: 'rowgroup',
1523
1635
  className: cx('tfoot')
1524
1636
  }, ptm('tfoot', {
1525
1637
  hostName: props.hostName
@@ -1580,7 +1692,7 @@ this.primereact.treetable = (function (exports, React, PrimeReact, componentbase
1580
1692
  }
1581
1693
  };
1582
1694
  var onHeaderKeyDown = function onHeaderKeyDown(event, column) {
1583
- if (event.key === 'Enter') {
1695
+ if (event.key === 'Enter' && event.key === 'Space') {
1584
1696
  onHeaderClick(event, column);
1585
1697
  event.preventDefault();
1586
1698
  }
@@ -1754,6 +1866,7 @@ this.primereact.treetable = (function (exports, React, PrimeReact, componentbase
1754
1866
  if (options.filterOnly) {
1755
1867
  var frozen = getColumnProp(column, 'frozen');
1756
1868
  var headerCellProps = mergeProps({
1869
+ role: 'columnheader',
1757
1870
  key: getColumnProp(column, 'columnKey') || getColumnProp(column, 'field') || options.index,
1758
1871
  className: utils.classNames(cx('headerCell', {
1759
1872
  options: options,
@@ -1785,11 +1898,14 @@ this.primereact.treetable = (function (exports, React, PrimeReact, componentbase
1785
1898
  var sortIconElement = createSortIcon(column, sorted, sortOrder);
1786
1899
  var ariaSortData = getAriaSort(column, sorted, sortOrder);
1787
1900
  var sortBadge = createSortBadge(column, sortMetaDataIndex);
1901
+ var ariaSort = sorted ? sortOrder ? sortOrder < 0 ? 'descending' : 'ascending' : 'none' : null;
1788
1902
  var headerTooltip = getColumnProp(column, 'headerTooltip');
1789
1903
  var hasTooltip = utils.ObjectUtils.isNotEmpty(headerTooltip);
1790
1904
  var title = createTitle(column, options);
1791
1905
  var resizer = createResizer(column);
1792
- var _headerCellProps = mergeProps({
1906
+ var sortable = getColumnProp(column, 'sortable');
1907
+ var _headerCellProps = mergeProps(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
1908
+ role: 'columnheader',
1793
1909
  className: utils.classNames(getColumnProp(column, 'headerClassName') || getColumnProp(column, 'className'), cx('headerCell', {
1794
1910
  headerProps: props,
1795
1911
  frozen: _frozen,
@@ -1800,7 +1916,8 @@ this.primereact.treetable = (function (exports, React, PrimeReact, componentbase
1800
1916
  align: align
1801
1917
  })),
1802
1918
  style: getColumnProp(column, 'headerStyle') || getColumnProp(column, 'style'),
1803
- tabIndex: getColumnProp(column, 'sortable') ? props.tabIndex : null,
1919
+ tabIndex: sortable ? props.tabIndex : null,
1920
+ 'aria-sort': ariaSort,
1804
1921
  onClick: function onClick(e) {
1805
1922
  return onHeaderClick(e, column);
1806
1923
  },
@@ -1811,25 +1928,16 @@ this.primereact.treetable = (function (exports, React, PrimeReact, componentbase
1811
1928
  return onHeaderKeyDown(e, column);
1812
1929
  },
1813
1930
  rowSpan: getColumnProp(column, 'rowSpan'),
1814
- colSpan: getColumnProp(column, 'colSpan'),
1815
- 'aria-sort': ariaSortData,
1816
- onDragStart: function onDragStart(e) {
1817
- return _onDragStart(e, column);
1818
- },
1819
- onDragOver: function onDragOver(e) {
1820
- return _onDragOver(e, column);
1821
- },
1822
- onDragLeave: function onDragLeave(e) {
1823
- return _onDragLeave(e, column);
1824
- },
1825
- onDrop: function onDrop(e) {
1826
- return _onDrop(e, column);
1827
- },
1828
- 'data-p-sortable-column': getColumnProp(column, 'sortable'),
1829
- 'data-p-resizable-column': props.resizableColumns,
1830
- 'data-p-highlight': sorted,
1831
- 'data-p-frozen-column': getColumnProp(column, 'frozen')
1832
- }, getColumnPTOptions(column, 'root'), getColumnPTOptions(column, 'headerCell', {
1931
+ colSpan: getColumnProp(column, 'colSpan')
1932
+ }, "aria-sort", ariaSortData), "onDragStart", function onDragStart(e) {
1933
+ return _onDragStart(e, column);
1934
+ }), "onDragOver", function onDragOver(e) {
1935
+ return _onDragOver(e, column);
1936
+ }), "onDragLeave", function onDragLeave(e) {
1937
+ return _onDragLeave(e, column);
1938
+ }), "onDrop", function onDrop(e) {
1939
+ return _onDrop(e, column);
1940
+ }), 'data-p-sortable-column', sortable), 'data-p-resizable-column', props.resizableColumns), 'data-p-highlight', sorted), 'data-p-frozen-column', getColumnProp(column, 'frozen')), getColumnPTOptions(column, 'root'), getColumnPTOptions(column, 'headerCell', {
1833
1941
  context: {
1834
1942
  sorted: sorted,
1835
1943
  frozen: _frozen,
@@ -1864,7 +1972,9 @@ this.primereact.treetable = (function (exports, React, PrimeReact, componentbase
1864
1972
  var headerRowProps = mergeProps(ptm('headerRow', {
1865
1973
  hostName: props.hostName
1866
1974
  }));
1867
- return /*#__PURE__*/React__namespace.createElement("tr", _extends({}, headerRowProps, {
1975
+ return /*#__PURE__*/React__namespace.createElement("tr", _extends({
1976
+ role: "row"
1977
+ }, headerRowProps, {
1868
1978
  key: index
1869
1979
  }), rowHeaderCells);
1870
1980
  };
@@ -1875,7 +1985,8 @@ this.primereact.treetable = (function (exports, React, PrimeReact, componentbase
1875
1985
  var createColumns = function createColumns(columns) {
1876
1986
  if (columns) {
1877
1987
  var headerRowProps = mergeProps(ptm('headerRow', {
1878
- hostName: props.hostName
1988
+ hostName: props.hostName,
1989
+ role: 'row'
1879
1990
  }));
1880
1991
  if (hasColumnFilter(columns)) {
1881
1992
  return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/React__namespace.createElement("tr", headerRowProps, columns.map(function (col, i) {
@@ -1892,7 +2003,9 @@ this.primereact.treetable = (function (exports, React, PrimeReact, componentbase
1892
2003
  });
1893
2004
  })));
1894
2005
  } else {
1895
- return /*#__PURE__*/React__namespace.createElement("tr", headerRowProps, columns.map(function (col, i) {
2006
+ return /*#__PURE__*/React__namespace.createElement("tr", _extends({
2007
+ role: "row"
2008
+ }, headerRowProps), columns.map(function (col, i) {
1896
2009
  return createHeaderCell(col, {
1897
2010
  index: i,
1898
2011
  filterOnly: false,
@@ -1906,6 +2019,7 @@ this.primereact.treetable = (function (exports, React, PrimeReact, componentbase
1906
2019
  };
1907
2020
  var content = props.columnGroup ? createColumnGroup() : createColumns(props.columns);
1908
2021
  var theadProps = mergeProps({
2022
+ role: 'rowgroup',
1909
2023
  className: cx('thead')
1910
2024
  }, ptm('thead', {
1911
2025
  hostName: props.hostName
@@ -2156,6 +2270,7 @@ this.primereact.treetable = (function (exports, React, PrimeReact, componentbase
2156
2270
  var columnSortable = React__namespace.useRef(null);
2157
2271
  var columnSortFunction = React__namespace.useRef(null);
2158
2272
  var columnField = React__namespace.useRef(null);
2273
+ var childFocusEvent = React__namespace.useRef(null);
2159
2274
  var _useEventListener = hooks.useEventListener({
2160
2275
  type: 'mousemove',
2161
2276
  listener: function listener(event) {
@@ -2180,10 +2295,19 @@ this.primereact.treetable = (function (exports, React, PrimeReact, componentbase
2180
2295
  bindDocumentMouseUpListener = _useEventListener4[0],
2181
2296
  unbindDocumentMouseUpListener = _useEventListener4[1];
2182
2297
  var onToggle = function onToggle(event) {
2298
+ var originalEvent = event.originalEvent,
2299
+ value = event.value,
2300
+ navigateFocusToChild = event.navigateFocusToChild;
2183
2301
  if (props.onToggle) {
2184
- props.onToggle(event);
2302
+ props.onToggle({
2303
+ originalEvent: originalEvent,
2304
+ value: value
2305
+ });
2185
2306
  } else {
2186
- setExpandedKeysState(event.value);
2307
+ if (navigateFocusToChild) {
2308
+ childFocusEvent.current = originalEvent;
2309
+ }
2310
+ setExpandedKeysState(value);
2187
2311
  }
2188
2312
  };
2189
2313
  var onPageChange = function onPageChange(event) {
@@ -2886,6 +3010,17 @@ this.primereact.treetable = (function (exports, React, PrimeReact, componentbase
2886
3010
  }
2887
3011
  return data;
2888
3012
  };
3013
+ hooks.useUpdateEffect(function () {
3014
+ if (childFocusEvent.current) {
3015
+ var nodeElement = childFocusEvent.current.target;
3016
+ var nextElementSibling = nodeElement.nextElementSibling;
3017
+ if (nextElementSibling) {
3018
+ nodeElement.tabIndex = '-1';
3019
+ nextElementSibling.tabIndex = '0';
3020
+ utils.DomHandler.focus(nextElementSibling);
3021
+ }
3022
+ }
3023
+ }, [expandedKeysState]);
2889
3024
  React__namespace.useImperativeHandle(ref, function () {
2890
3025
  return {
2891
3026
  props: props,
@@ -3035,6 +3170,7 @@ this.primereact.treetable = (function (exports, React, PrimeReact, componentbase
3035
3170
  className: ptCallbacks.cx('wrapper')
3036
3171
  }, ptCallbacks.ptm('wrapper'));
3037
3172
  var tableProps = mergeProps({
3173
+ role: 'table',
3038
3174
  style: props.tableStyle,
3039
3175
  className: utils.classNames(props.tableClassName, ptCallbacks.cx('table'))
3040
3176
  }, ptCallbacks.ptm('table'));
@@ -3118,6 +3254,7 @@ this.primereact.treetable = (function (exports, React, PrimeReact, componentbase
3118
3254
  ref: reorderIndicatorDownRef
3119
3255
  }, reorderIndicatorDownProps), reorderIndicatorDownIcon);
3120
3256
  var rootProps = mergeProps({
3257
+ role: 'table',
3121
3258
  id: props.id,
3122
3259
  className: utils.classNames(props.className, ptCallbacks.cx('root', {
3123
3260
  isRowSelectionMode: isRowSelectionMode