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.
- package/accordion/accordion.cjs.js +1 -1
- package/accordion/accordion.cjs.min.js +1 -1
- package/accordion/accordion.esm.js +1 -1
- package/accordion/accordion.esm.min.js +1 -1
- package/accordion/accordion.js +1 -1
- package/accordion/accordion.min.js +1 -1
- package/api/api.cjs.js +20 -0
- package/api/api.cjs.min.js +1 -1
- package/api/api.d.ts +5 -1
- package/api/api.esm.js +20 -0
- package/api/api.esm.min.js +1 -1
- package/api/api.js +20 -0
- package/api/api.min.js +1 -1
- package/calendar/calendar.cjs.js +509 -150
- package/calendar/calendar.cjs.min.js +1 -1
- package/calendar/calendar.d.ts +4 -0
- package/calendar/calendar.esm.js +510 -151
- package/calendar/calendar.esm.min.js +1 -1
- package/calendar/calendar.js +509 -150
- package/calendar/calendar.min.js +1 -1
- package/carousel/carousel.cjs.js +1 -0
- package/carousel/carousel.cjs.min.js +1 -1
- package/carousel/carousel.esm.js +1 -0
- package/carousel/carousel.esm.min.js +1 -1
- package/carousel/carousel.js +1 -0
- package/carousel/carousel.min.js +1 -1
- package/chips/chips.cjs.js +2 -1
- package/chips/chips.cjs.min.js +1 -1
- package/chips/chips.esm.js +2 -1
- package/chips/chips.esm.min.js +1 -1
- package/chips/chips.js +2 -1
- package/chips/chips.min.js +1 -1
- package/contextmenu/contextmenu.cjs.js +4 -4
- package/contextmenu/contextmenu.cjs.min.js +1 -1
- package/contextmenu/contextmenu.esm.js +4 -4
- package/contextmenu/contextmenu.esm.min.js +1 -1
- package/contextmenu/contextmenu.js +4 -4
- package/contextmenu/contextmenu.min.js +1 -1
- package/core/core.js +93 -40
- package/core/core.min.js +4 -4
- package/datatable/datatable.cjs.js +577 -150
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.esm.js +573 -146
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +577 -150
- package/datatable/datatable.min.js +1 -1
- package/dataview/dataview.cjs.js +27 -25
- package/dataview/dataview.cjs.min.js +1 -1
- package/dataview/dataview.d.ts +7 -1
- package/dataview/dataview.esm.js +27 -25
- package/dataview/dataview.esm.min.js +1 -1
- package/dataview/dataview.js +27 -25
- package/dataview/dataview.min.js +1 -1
- package/divider/divider.cjs.js +2 -2
- package/divider/divider.cjs.min.js +1 -1
- package/divider/divider.esm.js +2 -2
- package/divider/divider.esm.min.js +1 -1
- package/divider/divider.js +2 -2
- package/divider/divider.min.js +1 -1
- package/dropdown/dropdown.cjs.js +20 -25
- package/dropdown/dropdown.cjs.min.js +1 -1
- package/dropdown/dropdown.d.ts +9 -0
- package/dropdown/dropdown.esm.js +20 -25
- package/dropdown/dropdown.esm.min.js +1 -1
- package/dropdown/dropdown.js +20 -25
- package/dropdown/dropdown.min.js +1 -1
- package/editor/editor.cjs.js +1 -1
- package/editor/editor.cjs.min.js +1 -1
- package/editor/editor.esm.js +1 -1
- package/editor/editor.esm.min.js +1 -1
- package/editor/editor.js +1 -1
- package/editor/editor.min.js +1 -1
- package/focustrap/focustrap.cjs.js +168 -0
- package/focustrap/focustrap.cjs.min.js +1 -0
- package/focustrap/focustrap.esm.js +159 -0
- package/focustrap/focustrap.esm.min.js +1 -0
- package/focustrap/focustrap.js +167 -0
- package/focustrap/focustrap.min.js +1 -0
- package/focustrap/package.json +7 -0
- package/galleria/galleria.cjs.js +26 -24
- package/galleria/galleria.cjs.min.js +1 -1
- package/galleria/galleria.esm.js +26 -24
- package/galleria/galleria.esm.min.js +1 -1
- package/galleria/galleria.js +26 -24
- package/galleria/galleria.min.js +1 -1
- package/hooks/hooks.d.ts +1 -1
- package/menubar/menubar.cjs.js +7 -4
- package/menubar/menubar.cjs.min.js +1 -1
- package/menubar/menubar.esm.js +7 -4
- package/menubar/menubar.esm.min.js +1 -1
- package/menubar/menubar.js +7 -4
- package/menubar/menubar.min.js +1 -1
- package/package.json +1 -1
- package/paginator/paginator.cjs.js +20 -0
- package/paginator/paginator.cjs.min.js +1 -1
- package/paginator/paginator.esm.js +20 -0
- package/paginator/paginator.esm.min.js +1 -1
- package/paginator/paginator.js +20 -0
- package/paginator/paginator.min.js +1 -1
- package/panelmenu/panelmenu.cjs.js +32 -21
- package/panelmenu/panelmenu.cjs.min.js +1 -1
- package/panelmenu/panelmenu.esm.js +32 -21
- package/panelmenu/panelmenu.esm.min.js +1 -1
- package/panelmenu/panelmenu.js +32 -21
- package/panelmenu/panelmenu.min.js +1 -1
- package/picklist/picklist.cjs.js +20 -0
- package/picklist/picklist.cjs.min.js +1 -1
- package/picklist/picklist.esm.js +20 -0
- package/picklist/picklist.esm.min.js +1 -1
- package/picklist/picklist.js +20 -0
- package/picklist/picklist.min.js +1 -1
- package/primereact.all.cjs.js +1499 -725
- package/primereact.all.cjs.min.js +1 -1
- package/primereact.all.esm.js +1499 -725
- package/primereact.all.esm.min.js +1 -1
- package/primereact.all.js +1499 -725
- package/primereact.all.min.js +1 -1
- package/sidebar/sidebar.cjs.js +18 -16
- package/sidebar/sidebar.cjs.min.js +1 -1
- package/sidebar/sidebar.esm.js +18 -16
- package/sidebar/sidebar.esm.min.js +1 -1
- package/sidebar/sidebar.js +18 -16
- package/sidebar/sidebar.min.js +1 -1
- package/splitbutton/splitbutton.cjs.js +8 -7
- package/splitbutton/splitbutton.cjs.min.js +1 -1
- package/splitbutton/splitbutton.esm.js +8 -7
- package/splitbutton/splitbutton.esm.min.js +1 -1
- package/splitbutton/splitbutton.js +8 -7
- package/splitbutton/splitbutton.min.js +1 -1
- package/splitter/splitter.cjs.js +57 -12
- package/splitter/splitter.cjs.min.js +1 -1
- package/splitter/splitter.d.ts +13 -1
- package/splitter/splitter.esm.js +59 -14
- package/splitter/splitter.esm.min.js +1 -1
- package/splitter/splitter.js +57 -12
- package/splitter/splitter.min.js +1 -1
- package/tieredmenu/tieredmenu.cjs.js +8 -7
- package/tieredmenu/tieredmenu.cjs.min.js +1 -1
- package/tieredmenu/tieredmenu.esm.js +8 -7
- package/tieredmenu/tieredmenu.esm.min.js +1 -1
- package/tieredmenu/tieredmenu.js +8 -7
- package/tieredmenu/tieredmenu.min.js +1 -1
- package/toast/toast.cjs.js +20 -0
- package/toast/toast.cjs.min.js +1 -1
- package/toast/toast.esm.js +20 -0
- package/toast/toast.esm.min.js +1 -1
- package/toast/toast.js +20 -0
- package/toast/toast.min.js +1 -1
- package/tree/tree.cjs.js +33 -15
- package/tree/tree.cjs.min.js +1 -1
- package/tree/tree.esm.js +34 -16
- package/tree/tree.esm.min.js +1 -1
- package/tree/tree.js +33 -15
- package/tree/tree.min.js +1 -1
- package/treetable/treetable.cjs.js +205 -68
- package/treetable/treetable.cjs.min.js +1 -1
- package/treetable/treetable.esm.js +206 -69
- package/treetable/treetable.esm.min.js +1 -1
- package/treetable/treetable.js +205 -68
- package/treetable/treetable.min.js +1 -1
- package/web-types.json +34 -1
|
@@ -3,7 +3,7 @@ import * as React from 'react';
|
|
|
3
3
|
import PrimeReact, { FilterMatchMode, ariaLabel, localeOption, PrimeReactContext, FilterService } from 'primereact/api';
|
|
4
4
|
import { ComponentBase, useHandleStyle } from 'primereact/componentbase';
|
|
5
5
|
import { ObjectUtils, classNames, DomHandler, IconUtils } from 'primereact/utils';
|
|
6
|
-
import { useMergeProps, useEventListener, useUnmountEffect, useMountEffect } from 'primereact/hooks';
|
|
6
|
+
import { useMergeProps, useEventListener, useUnmountEffect, useMountEffect, useUpdateEffect } from 'primereact/hooks';
|
|
7
7
|
import { ArrowDownIcon } from 'primereact/icons/arrowdown';
|
|
8
8
|
import { ArrowUpIcon } from 'primereact/icons/arrowup';
|
|
9
9
|
import { SpinnerIcon } from 'primereact/icons/spinner';
|
|
@@ -654,6 +654,7 @@ var TreeTableBodyCell = function TreeTableBodyCell(props) {
|
|
|
654
654
|
var align = getColumnProp('align');
|
|
655
655
|
/* eslint-enable */
|
|
656
656
|
var bodyCellProps = mergeProps({
|
|
657
|
+
role: 'cell',
|
|
657
658
|
className: classNames(bodyClassName || props.className, cx('bodyCell', {
|
|
658
659
|
bodyProps: props,
|
|
659
660
|
editingState: editingState,
|
|
@@ -749,11 +750,13 @@ var TreeTableRow = /*#__PURE__*/React.memo(function (props) {
|
|
|
749
750
|
event.stopPropagation();
|
|
750
751
|
};
|
|
751
752
|
var expand = function expand(event) {
|
|
753
|
+
var navigateFocusToChild = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
752
754
|
var expandedKeys = props.expandedKeys ? _objectSpread$4({}, props.expandedKeys) : {};
|
|
753
755
|
expandedKeys[props.node.key] = true;
|
|
754
756
|
props.onToggle({
|
|
755
757
|
originalEvent: event,
|
|
756
|
-
value: expandedKeys
|
|
758
|
+
value: expandedKeys,
|
|
759
|
+
navigateFocusToChild: navigateFocusToChild
|
|
757
760
|
});
|
|
758
761
|
invokeToggleEvents(event, true);
|
|
759
762
|
};
|
|
@@ -934,49 +937,147 @@ var TreeTableRow = /*#__PURE__*/React.memo(function (props) {
|
|
|
934
937
|
});
|
|
935
938
|
}
|
|
936
939
|
};
|
|
937
|
-
var _onKeyDown = function onKeyDown(event) {
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
940
|
+
var _onKeyDown = function onKeyDown(event, item) {
|
|
941
|
+
switch (event.code) {
|
|
942
|
+
case 'ArrowDown':
|
|
943
|
+
onArrowDownKey(event);
|
|
944
|
+
break;
|
|
945
|
+
case 'ArrowUp':
|
|
946
|
+
onArrowUpKey(event);
|
|
947
|
+
break;
|
|
948
|
+
case 'ArrowLeft':
|
|
949
|
+
onArrowLeftKey(event);
|
|
950
|
+
break;
|
|
951
|
+
case 'ArrowRight':
|
|
952
|
+
onArrowRightKey(event);
|
|
953
|
+
break;
|
|
954
|
+
case 'Home':
|
|
955
|
+
onHomeKey(event);
|
|
956
|
+
break;
|
|
957
|
+
case 'End':
|
|
958
|
+
onEndKey(event);
|
|
959
|
+
break;
|
|
960
|
+
case 'Enter':
|
|
961
|
+
case 'NumpadEnter':
|
|
962
|
+
case 'Space':
|
|
963
|
+
if (!DomHandler.isClickable(event.target)) {
|
|
964
|
+
onEnterKey(event);
|
|
965
|
+
}
|
|
966
|
+
break;
|
|
967
|
+
case 'Tab':
|
|
968
|
+
onTabKey();
|
|
969
|
+
break;
|
|
970
|
+
}
|
|
971
|
+
};
|
|
972
|
+
var onArrowDownKey = function onArrowDownKey(event) {
|
|
973
|
+
var nextElementSibling = event.currentTarget.nextElementSibling;
|
|
974
|
+
nextElementSibling && focusRowChange(event.currentTarget, nextElementSibling);
|
|
975
|
+
event.preventDefault();
|
|
976
|
+
};
|
|
977
|
+
var onArrowUpKey = function onArrowUpKey(event) {
|
|
978
|
+
var previousElementSibling = event.currentTarget.previousElementSibling;
|
|
979
|
+
previousElementSibling && focusRowChange(event.currentTarget, previousElementSibling);
|
|
980
|
+
event.preventDefault();
|
|
981
|
+
};
|
|
982
|
+
var onArrowRightKey = function onArrowRightKey(event) {
|
|
983
|
+
var ishiddenIcon = DomHandler.findSingle(event.currentTarget, 'button').style.visibility === 'hidden';
|
|
984
|
+
DomHandler.findSingle(elementRef.current, '[data-pc-section="rowtoggler"]');
|
|
985
|
+
if (ishiddenIcon) return;
|
|
949
986
|
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
var previousRow = rowElement.previousElementSibling;
|
|
953
|
-
if (previousRow) {
|
|
954
|
-
previousRow.focus();
|
|
955
|
-
}
|
|
956
|
-
event.preventDefault();
|
|
957
|
-
break;
|
|
987
|
+
// !expanded && togglerElement.click();
|
|
988
|
+
!expanded && expand(event, true);
|
|
958
989
|
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
expand(event);
|
|
963
|
-
}
|
|
964
|
-
event.preventDefault();
|
|
965
|
-
break;
|
|
990
|
+
// this.$nextTick(() => {
|
|
991
|
+
// this.onArrowDownKey(event);
|
|
992
|
+
// });
|
|
966
993
|
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
994
|
+
event.preventDefault();
|
|
995
|
+
};
|
|
996
|
+
var onArrowLeftKey = function onArrowLeftKey(event) {
|
|
997
|
+
if (props.level === 0 && !expanded) {
|
|
998
|
+
return;
|
|
999
|
+
}
|
|
1000
|
+
var currentTarget = event.currentTarget;
|
|
1001
|
+
var ishiddenIcon = DomHandler.findSingle(currentTarget, 'button').style.visibility === 'hidden';
|
|
1002
|
+
DomHandler.findSingle(currentTarget, '[data-pc-section="rowtoggler"]');
|
|
1003
|
+
if (expanded && !ishiddenIcon) {
|
|
1004
|
+
// togglerElement.click();
|
|
1005
|
+
collapse(event);
|
|
1006
|
+
return;
|
|
1007
|
+
}
|
|
1008
|
+
var target = findBeforeClickableNode(currentTarget);
|
|
1009
|
+
target && focusRowChange(currentTarget, target);
|
|
1010
|
+
};
|
|
1011
|
+
var onHomeKey = function onHomeKey(event) {
|
|
1012
|
+
var findFirstElement = DomHandler.findSingle(event.currentTarget.parentElement, "tr[aria-level=\"".concat(props.level + 1, "\"]"));
|
|
1013
|
+
findFirstElement && DomHandler.focus(findFirstElement);
|
|
1014
|
+
event.preventDefault();
|
|
1015
|
+
};
|
|
1016
|
+
var onEndKey = function onEndKey(event) {
|
|
1017
|
+
var nodes = DomHandler.find(event.currentTarget.parentElement, "tr[aria-level=\"".concat(props.level + 1, "\"]"));
|
|
1018
|
+
var findFirstElement = nodes[nodes.length - 1];
|
|
1019
|
+
DomHandler.focus(findFirstElement);
|
|
1020
|
+
event.preventDefault();
|
|
1021
|
+
};
|
|
1022
|
+
var onEnterKey = function onEnterKey(event) {
|
|
1023
|
+
event.preventDefault();
|
|
1024
|
+
setTabIndexForSelectionMode(event, nodeTouched.current);
|
|
1025
|
+
if (props.selectionMode === 'checkbox') {
|
|
1026
|
+
// this.toggleCheckbox();
|
|
1027
|
+
onCheckboxChange(event);
|
|
1028
|
+
return;
|
|
1029
|
+
}
|
|
1030
|
+
|
|
1031
|
+
// this.$emit('node-click', {
|
|
1032
|
+
// originalEvent: event,
|
|
1033
|
+
// nodeTouched: nodeTouched.current,
|
|
1034
|
+
// node: this.node
|
|
1035
|
+
// });
|
|
974
1036
|
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
1037
|
+
props.onRowClick(event, props.node);
|
|
1038
|
+
nodeTouched.current = false;
|
|
1039
|
+
};
|
|
1040
|
+
var onTabKey = function onTabKey() {
|
|
1041
|
+
var rows = _toConsumableArray(DomHandler.find(elementRef.current.parentElement, 'tr'));
|
|
1042
|
+
var hasSelectedRow = rows.some(function (row) {
|
|
1043
|
+
return DomHandler.getAttribute(row, 'data-p-highlight') || row.getAttribute('aria-checked') === 'true';
|
|
1044
|
+
});
|
|
1045
|
+
rows.forEach(function (row) {
|
|
1046
|
+
row.tabIndex = -1;
|
|
1047
|
+
});
|
|
1048
|
+
if (hasSelectedRow) {
|
|
1049
|
+
var selectedNodes = rows.filter(function (node) {
|
|
1050
|
+
return DomHandler.getAttribute(node, 'data-p-highlight') || node.getAttribute('aria-checked') === 'true';
|
|
1051
|
+
});
|
|
1052
|
+
selectedNodes[0].tabIndex = 0;
|
|
1053
|
+
return;
|
|
1054
|
+
}
|
|
1055
|
+
rows[0].tabIndex = 0;
|
|
1056
|
+
};
|
|
1057
|
+
var focusRowChange = function focusRowChange(firstFocusableRow, currentFocusedRow) {
|
|
1058
|
+
firstFocusableRow.tabIndex = '-1';
|
|
1059
|
+
currentFocusedRow.tabIndex = '0';
|
|
1060
|
+
DomHandler.focus(currentFocusedRow);
|
|
1061
|
+
};
|
|
1062
|
+
var findBeforeClickableNode = function findBeforeClickableNode(node) {
|
|
1063
|
+
var prevNode = node.previousElementSibling;
|
|
1064
|
+
if (prevNode) {
|
|
1065
|
+
var prevNodeButton = prevNode.querySelector('button');
|
|
1066
|
+
if (prevNodeButton && prevNodeButton.style.visibility !== 'hidden') {
|
|
1067
|
+
return prevNode;
|
|
1068
|
+
}
|
|
1069
|
+
return findBeforeClickableNode(prevNode);
|
|
1070
|
+
}
|
|
1071
|
+
return null;
|
|
1072
|
+
};
|
|
1073
|
+
var setTabIndexForSelectionMode = function setTabIndexForSelectionMode(event, nodeTouched) {
|
|
1074
|
+
if (props.selectionMode !== null) {
|
|
1075
|
+
var elements = _toConsumableArray(DomHandler.find(elementRef.current.parentElement, 'tr'));
|
|
1076
|
+
event.currentTarget.tabIndex = nodeTouched === false ? -1 : 0;
|
|
1077
|
+
if (elements.every(function (element) {
|
|
1078
|
+
return element.tabIndex === -1;
|
|
1079
|
+
})) {
|
|
1080
|
+
elements[0].tabIndex = 0;
|
|
980
1081
|
}
|
|
981
1082
|
}
|
|
982
1083
|
};
|
|
@@ -1161,6 +1262,12 @@ var TreeTableRow = /*#__PURE__*/React.memo(function (props) {
|
|
|
1161
1262
|
var rowProps = mergeProps({
|
|
1162
1263
|
tabIndex: 0,
|
|
1163
1264
|
className: className,
|
|
1265
|
+
'aria-expanded': expanded,
|
|
1266
|
+
'aria-level': props.level + 1,
|
|
1267
|
+
'aria-posinset': props.ariaPosInSet,
|
|
1268
|
+
'aria-setsize': props.ariaSetSize,
|
|
1269
|
+
'aria-checked': isChecked(),
|
|
1270
|
+
'aria-selected': isSelected(),
|
|
1164
1271
|
style: props.node.style,
|
|
1165
1272
|
onClick: function onClick(e) {
|
|
1166
1273
|
return _onClick(e);
|
|
@@ -1352,6 +1459,8 @@ var TreeTableBody = /*#__PURE__*/React.memo(function (props) {
|
|
|
1352
1459
|
key: "".concat(node.key || JSON.stringify(node.data), "_").concat(index),
|
|
1353
1460
|
level: 0,
|
|
1354
1461
|
rowIndex: index,
|
|
1462
|
+
ariaSetSize: props.value.length,
|
|
1463
|
+
ariaPosInSet: index + 1,
|
|
1355
1464
|
selectOnEdit: props.selectOnEdit,
|
|
1356
1465
|
node: node,
|
|
1357
1466
|
originalOptions: props.originalOptions,
|
|
@@ -1415,6 +1524,7 @@ var TreeTableBody = /*#__PURE__*/React.memo(function (props) {
|
|
|
1415
1524
|
};
|
|
1416
1525
|
var content = props.value && props.value.length ? createRows() : createEmptyMessage();
|
|
1417
1526
|
var tbodyProps = mergeProps({
|
|
1527
|
+
role: 'rowgroup',
|
|
1418
1528
|
className: cx('tbody')
|
|
1419
1529
|
}, getPTOptions('tbody'));
|
|
1420
1530
|
return /*#__PURE__*/React.createElement("tbody", tbodyProps, content);
|
|
@@ -1486,7 +1596,8 @@ var TreeTableFooter = /*#__PURE__*/React.memo(function (props) {
|
|
|
1486
1596
|
var rowColumns = React.Children.toArray(RowBase.getCProp(row, 'children'));
|
|
1487
1597
|
var rowFooterCells = rowColumns.map(createFooterCell);
|
|
1488
1598
|
var footerRowProps = mergeProps(ptm('footerRow', {
|
|
1489
|
-
hostName: props.hostName
|
|
1599
|
+
hostName: props.hostName,
|
|
1600
|
+
role: 'row'
|
|
1490
1601
|
}));
|
|
1491
1602
|
return /*#__PURE__*/React.createElement("tr", _extends({}, footerRowProps, {
|
|
1492
1603
|
key: index
|
|
@@ -1515,6 +1626,7 @@ var TreeTableFooter = /*#__PURE__*/React.memo(function (props) {
|
|
|
1515
1626
|
var content = props.columnGroup ? createColumnGroup() : createColumns(props.columns);
|
|
1516
1627
|
if (hasFooter()) {
|
|
1517
1628
|
var tfootProps = mergeProps({
|
|
1629
|
+
role: 'rowgroup',
|
|
1518
1630
|
className: cx('tfoot')
|
|
1519
1631
|
}, ptm('tfoot', {
|
|
1520
1632
|
hostName: props.hostName
|
|
@@ -1575,7 +1687,7 @@ var TreeTableHeader = /*#__PURE__*/React.memo(function (props) {
|
|
|
1575
1687
|
}
|
|
1576
1688
|
};
|
|
1577
1689
|
var onHeaderKeyDown = function onHeaderKeyDown(event, column) {
|
|
1578
|
-
if (event.key === 'Enter') {
|
|
1690
|
+
if (event.key === 'Enter' && event.key === 'Space') {
|
|
1579
1691
|
onHeaderClick(event, column);
|
|
1580
1692
|
event.preventDefault();
|
|
1581
1693
|
}
|
|
@@ -1749,6 +1861,7 @@ var TreeTableHeader = /*#__PURE__*/React.memo(function (props) {
|
|
|
1749
1861
|
if (options.filterOnly) {
|
|
1750
1862
|
var frozen = getColumnProp(column, 'frozen');
|
|
1751
1863
|
var headerCellProps = mergeProps({
|
|
1864
|
+
role: 'columnheader',
|
|
1752
1865
|
key: getColumnProp(column, 'columnKey') || getColumnProp(column, 'field') || options.index,
|
|
1753
1866
|
className: classNames(cx('headerCell', {
|
|
1754
1867
|
options: options,
|
|
@@ -1780,11 +1893,14 @@ var TreeTableHeader = /*#__PURE__*/React.memo(function (props) {
|
|
|
1780
1893
|
var sortIconElement = createSortIcon(column, sorted, sortOrder);
|
|
1781
1894
|
var ariaSortData = getAriaSort(column, sorted, sortOrder);
|
|
1782
1895
|
var sortBadge = createSortBadge(column, sortMetaDataIndex);
|
|
1896
|
+
var ariaSort = sorted ? sortOrder ? sortOrder < 0 ? 'descending' : 'ascending' : 'none' : null;
|
|
1783
1897
|
var headerTooltip = getColumnProp(column, 'headerTooltip');
|
|
1784
1898
|
var hasTooltip = ObjectUtils.isNotEmpty(headerTooltip);
|
|
1785
1899
|
var title = createTitle(column, options);
|
|
1786
1900
|
var resizer = createResizer(column);
|
|
1787
|
-
var
|
|
1901
|
+
var sortable = getColumnProp(column, 'sortable');
|
|
1902
|
+
var _headerCellProps = mergeProps(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
|
|
1903
|
+
role: 'columnheader',
|
|
1788
1904
|
className: classNames(getColumnProp(column, 'headerClassName') || getColumnProp(column, 'className'), cx('headerCell', {
|
|
1789
1905
|
headerProps: props,
|
|
1790
1906
|
frozen: _frozen,
|
|
@@ -1795,7 +1911,8 @@ var TreeTableHeader = /*#__PURE__*/React.memo(function (props) {
|
|
|
1795
1911
|
align: align
|
|
1796
1912
|
})),
|
|
1797
1913
|
style: getColumnProp(column, 'headerStyle') || getColumnProp(column, 'style'),
|
|
1798
|
-
tabIndex:
|
|
1914
|
+
tabIndex: sortable ? props.tabIndex : null,
|
|
1915
|
+
'aria-sort': ariaSort,
|
|
1799
1916
|
onClick: function onClick(e) {
|
|
1800
1917
|
return onHeaderClick(e, column);
|
|
1801
1918
|
},
|
|
@@ -1806,25 +1923,16 @@ var TreeTableHeader = /*#__PURE__*/React.memo(function (props) {
|
|
|
1806
1923
|
return onHeaderKeyDown(e, column);
|
|
1807
1924
|
},
|
|
1808
1925
|
rowSpan: getColumnProp(column, 'rowSpan'),
|
|
1809
|
-
colSpan: getColumnProp(column, 'colSpan')
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
},
|
|
1820
|
-
onDrop: function onDrop(e) {
|
|
1821
|
-
return _onDrop(e, column);
|
|
1822
|
-
},
|
|
1823
|
-
'data-p-sortable-column': getColumnProp(column, 'sortable'),
|
|
1824
|
-
'data-p-resizable-column': props.resizableColumns,
|
|
1825
|
-
'data-p-highlight': sorted,
|
|
1826
|
-
'data-p-frozen-column': getColumnProp(column, 'frozen')
|
|
1827
|
-
}, getColumnPTOptions(column, 'root'), getColumnPTOptions(column, 'headerCell', {
|
|
1926
|
+
colSpan: getColumnProp(column, 'colSpan')
|
|
1927
|
+
}, "aria-sort", ariaSortData), "onDragStart", function onDragStart(e) {
|
|
1928
|
+
return _onDragStart(e, column);
|
|
1929
|
+
}), "onDragOver", function onDragOver(e) {
|
|
1930
|
+
return _onDragOver(e, column);
|
|
1931
|
+
}), "onDragLeave", function onDragLeave(e) {
|
|
1932
|
+
return _onDragLeave(e, column);
|
|
1933
|
+
}), "onDrop", function onDrop(e) {
|
|
1934
|
+
return _onDrop(e, column);
|
|
1935
|
+
}), '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', {
|
|
1828
1936
|
context: {
|
|
1829
1937
|
sorted: sorted,
|
|
1830
1938
|
frozen: _frozen,
|
|
@@ -1859,7 +1967,9 @@ var TreeTableHeader = /*#__PURE__*/React.memo(function (props) {
|
|
|
1859
1967
|
var headerRowProps = mergeProps(ptm('headerRow', {
|
|
1860
1968
|
hostName: props.hostName
|
|
1861
1969
|
}));
|
|
1862
|
-
return /*#__PURE__*/React.createElement("tr", _extends({
|
|
1970
|
+
return /*#__PURE__*/React.createElement("tr", _extends({
|
|
1971
|
+
role: "row"
|
|
1972
|
+
}, headerRowProps, {
|
|
1863
1973
|
key: index
|
|
1864
1974
|
}), rowHeaderCells);
|
|
1865
1975
|
};
|
|
@@ -1870,7 +1980,8 @@ var TreeTableHeader = /*#__PURE__*/React.memo(function (props) {
|
|
|
1870
1980
|
var createColumns = function createColumns(columns) {
|
|
1871
1981
|
if (columns) {
|
|
1872
1982
|
var headerRowProps = mergeProps(ptm('headerRow', {
|
|
1873
|
-
hostName: props.hostName
|
|
1983
|
+
hostName: props.hostName,
|
|
1984
|
+
role: 'row'
|
|
1874
1985
|
}));
|
|
1875
1986
|
if (hasColumnFilter(columns)) {
|
|
1876
1987
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("tr", headerRowProps, columns.map(function (col, i) {
|
|
@@ -1887,7 +1998,9 @@ var TreeTableHeader = /*#__PURE__*/React.memo(function (props) {
|
|
|
1887
1998
|
});
|
|
1888
1999
|
})));
|
|
1889
2000
|
} else {
|
|
1890
|
-
return /*#__PURE__*/React.createElement("tr",
|
|
2001
|
+
return /*#__PURE__*/React.createElement("tr", _extends({
|
|
2002
|
+
role: "row"
|
|
2003
|
+
}, headerRowProps), columns.map(function (col, i) {
|
|
1891
2004
|
return createHeaderCell(col, {
|
|
1892
2005
|
index: i,
|
|
1893
2006
|
filterOnly: false,
|
|
@@ -1901,6 +2014,7 @@ var TreeTableHeader = /*#__PURE__*/React.memo(function (props) {
|
|
|
1901
2014
|
};
|
|
1902
2015
|
var content = props.columnGroup ? createColumnGroup() : createColumns(props.columns);
|
|
1903
2016
|
var theadProps = mergeProps({
|
|
2017
|
+
role: 'rowgroup',
|
|
1904
2018
|
className: cx('thead')
|
|
1905
2019
|
}, ptm('thead', {
|
|
1906
2020
|
hostName: props.hostName
|
|
@@ -2151,6 +2265,7 @@ var TreeTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
|
|
|
2151
2265
|
var columnSortable = React.useRef(null);
|
|
2152
2266
|
var columnSortFunction = React.useRef(null);
|
|
2153
2267
|
var columnField = React.useRef(null);
|
|
2268
|
+
var childFocusEvent = React.useRef(null);
|
|
2154
2269
|
var _useEventListener = useEventListener({
|
|
2155
2270
|
type: 'mousemove',
|
|
2156
2271
|
listener: function listener(event) {
|
|
@@ -2175,10 +2290,19 @@ var TreeTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
|
|
|
2175
2290
|
bindDocumentMouseUpListener = _useEventListener4[0],
|
|
2176
2291
|
unbindDocumentMouseUpListener = _useEventListener4[1];
|
|
2177
2292
|
var onToggle = function onToggle(event) {
|
|
2293
|
+
var originalEvent = event.originalEvent,
|
|
2294
|
+
value = event.value,
|
|
2295
|
+
navigateFocusToChild = event.navigateFocusToChild;
|
|
2178
2296
|
if (props.onToggle) {
|
|
2179
|
-
props.onToggle(
|
|
2297
|
+
props.onToggle({
|
|
2298
|
+
originalEvent: originalEvent,
|
|
2299
|
+
value: value
|
|
2300
|
+
});
|
|
2180
2301
|
} else {
|
|
2181
|
-
|
|
2302
|
+
if (navigateFocusToChild) {
|
|
2303
|
+
childFocusEvent.current = originalEvent;
|
|
2304
|
+
}
|
|
2305
|
+
setExpandedKeysState(value);
|
|
2182
2306
|
}
|
|
2183
2307
|
};
|
|
2184
2308
|
var onPageChange = function onPageChange(event) {
|
|
@@ -2881,6 +3005,17 @@ var TreeTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
|
|
|
2881
3005
|
}
|
|
2882
3006
|
return data;
|
|
2883
3007
|
};
|
|
3008
|
+
useUpdateEffect(function () {
|
|
3009
|
+
if (childFocusEvent.current) {
|
|
3010
|
+
var nodeElement = childFocusEvent.current.target;
|
|
3011
|
+
var nextElementSibling = nodeElement.nextElementSibling;
|
|
3012
|
+
if (nextElementSibling) {
|
|
3013
|
+
nodeElement.tabIndex = '-1';
|
|
3014
|
+
nextElementSibling.tabIndex = '0';
|
|
3015
|
+
DomHandler.focus(nextElementSibling);
|
|
3016
|
+
}
|
|
3017
|
+
}
|
|
3018
|
+
}, [expandedKeysState]);
|
|
2884
3019
|
React.useImperativeHandle(ref, function () {
|
|
2885
3020
|
return {
|
|
2886
3021
|
props: props,
|
|
@@ -3030,6 +3165,7 @@ var TreeTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
|
|
|
3030
3165
|
className: ptCallbacks.cx('wrapper')
|
|
3031
3166
|
}, ptCallbacks.ptm('wrapper'));
|
|
3032
3167
|
var tableProps = mergeProps({
|
|
3168
|
+
role: 'table',
|
|
3033
3169
|
style: props.tableStyle,
|
|
3034
3170
|
className: classNames(props.tableClassName, ptCallbacks.cx('table'))
|
|
3035
3171
|
}, ptCallbacks.ptm('table'));
|
|
@@ -3113,6 +3249,7 @@ var TreeTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
|
|
|
3113
3249
|
ref: reorderIndicatorDownRef
|
|
3114
3250
|
}, reorderIndicatorDownProps), reorderIndicatorDownIcon);
|
|
3115
3251
|
var rootProps = mergeProps({
|
|
3252
|
+
role: 'table',
|
|
3116
3253
|
id: props.id,
|
|
3117
3254
|
className: classNames(props.className, ptCallbacks.cx('root', {
|
|
3118
3255
|
isRowSelectionMode: isRowSelectionMode
|