@patternfly/react-table 6.0.0-alpha.8 → 6.0.0-alpha.81
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/CHANGELOG.md +854 -2
- package/README.md +2 -17
- package/components/package.json +8 -1
- package/deprecated/package.json +8 -1
- package/dist/dynamic/components/Table/package.json +8 -1
- package/dist/dynamic/components/Table/utils/decorators/package.json +8 -1
- package/dist/dynamic/components/Table/utils/package.json +8 -1
- package/dist/dynamic/deprecated/components/Table/base/package.json +8 -1
- package/dist/dynamic/deprecated/components/Table/package.json +8 -1
- package/dist/dynamic/deprecated/components/package.json +8 -1
- package/dist/dynamic-modules.json +127 -0
- package/dist/esm/components/Table/ActionsColumn.d.ts +2 -0
- package/dist/esm/components/Table/ActionsColumn.d.ts.map +1 -1
- package/dist/esm/components/Table/ActionsColumn.js +4 -5
- package/dist/esm/components/Table/ActionsColumn.js.map +1 -1
- package/dist/esm/components/Table/DraggableCell.d.ts.map +1 -1
- package/dist/esm/components/Table/DraggableCell.js +1 -2
- package/dist/esm/components/Table/DraggableCell.js.map +1 -1
- package/dist/esm/components/Table/EditColumn.d.ts.map +1 -1
- package/dist/esm/components/Table/EditColumn.js +3 -6
- package/dist/esm/components/Table/EditColumn.js.map +1 -1
- package/dist/esm/components/Table/EditableSelectInputCell.d.ts +3 -4
- package/dist/esm/components/Table/EditableSelectInputCell.d.ts.map +1 -1
- package/dist/esm/components/Table/EditableSelectInputCell.js +8 -4
- package/dist/esm/components/Table/EditableSelectInputCell.js.map +1 -1
- package/dist/esm/components/Table/FavoritesCell.d.ts.map +1 -1
- package/dist/esm/components/Table/FavoritesCell.js +1 -2
- package/dist/esm/components/Table/FavoritesCell.js.map +1 -1
- package/dist/esm/components/Table/HeaderCellInfoWrapper.d.ts.map +1 -1
- package/dist/esm/components/Table/HeaderCellInfoWrapper.js +2 -4
- package/dist/esm/components/Table/HeaderCellInfoWrapper.js.map +1 -1
- package/dist/esm/components/Table/RowWrapper.js.map +1 -1
- package/dist/esm/components/Table/SortColumn.js.map +1 -1
- package/dist/esm/components/Table/Table.d.ts.map +1 -1
- package/dist/esm/components/Table/Table.js +4 -4
- package/dist/esm/components/Table/Table.js.map +1 -1
- package/dist/esm/components/Table/TableText.js.map +1 -1
- package/dist/esm/components/Table/TableTypes.d.ts +26 -25
- package/dist/esm/components/Table/TableTypes.d.ts.map +1 -1
- package/dist/esm/components/Table/TableTypes.js.map +1 -1
- package/dist/esm/components/Table/Td.d.ts +1 -1
- package/dist/esm/components/Table/Td.js +3 -3
- package/dist/esm/components/Table/Td.js.map +1 -1
- package/dist/esm/components/Table/Th.d.ts +8 -0
- package/dist/esm/components/Table/Th.d.ts.map +1 -1
- package/dist/esm/components/Table/Th.js +10 -6
- package/dist/esm/components/Table/Th.js.map +1 -1
- package/dist/esm/components/Table/Tr.js.map +1 -1
- package/dist/esm/components/Table/base/columns-are-equal.js.map +1 -1
- package/dist/esm/components/Table/base/evaluate-transforms.js.map +1 -1
- package/dist/esm/components/Table/base/merge-props.js.map +1 -1
- package/dist/esm/components/Table/base/provider.js.map +1 -1
- package/dist/esm/components/Table/base/types.d.ts +16 -17
- package/dist/esm/components/Table/base/types.d.ts.map +1 -1
- package/dist/esm/components/Table/base/types.js.map +1 -1
- package/dist/esm/components/Table/utils/decorators/compoundExpand.js.map +1 -1
- package/dist/esm/components/Table/utils/decorators/editable.js.map +1 -1
- package/dist/esm/components/Table/utils/decorators/favoritable.js.map +1 -1
- package/dist/esm/components/Table/utils/decorators/selectable.js +1 -1
- package/dist/esm/components/Table/utils/decorators/selectable.js.map +1 -1
- package/dist/esm/components/Table/utils/decorators/sortable.js.map +1 -1
- package/dist/esm/components/Table/utils/decorators/treeRow.d.ts +1 -1
- package/dist/esm/components/Table/utils/headerUtils.js.map +1 -1
- package/dist/esm/components/Table/utils/utils.js.map +1 -1
- package/dist/esm/demos/DashboardHeader.d.ts +8 -0
- package/dist/esm/demos/DashboardHeader.d.ts.map +1 -0
- package/dist/esm/demos/DashboardHeader.js +77 -0
- package/dist/esm/demos/DashboardHeader.js.map +1 -0
- package/dist/esm/demos/DashboardWrapper.d.ts +85 -0
- package/dist/esm/demos/DashboardWrapper.d.ts.map +1 -0
- package/dist/esm/demos/DashboardWrapper.js +41 -0
- package/dist/esm/demos/DashboardWrapper.js.map +1 -0
- package/dist/esm/demos/index.d.ts +2 -0
- package/dist/esm/demos/index.d.ts.map +1 -1
- package/dist/esm/demos/index.js +2 -0
- package/dist/esm/demos/index.js.map +1 -1
- package/dist/esm/deprecated/components/Table/Body.d.ts +1 -1
- package/dist/esm/deprecated/components/Table/Body.d.ts.map +1 -1
- package/dist/esm/deprecated/components/Table/Body.js.map +1 -1
- package/dist/esm/deprecated/components/Table/BodyCell.js.map +1 -1
- package/dist/esm/deprecated/components/Table/BodyWrapper.js.map +1 -1
- package/dist/esm/deprecated/components/Table/Table.d.ts.map +1 -1
- package/dist/esm/deprecated/components/Table/Table.js +2 -3
- package/dist/esm/deprecated/components/Table/Table.js.map +1 -1
- package/dist/esm/deprecated/components/Table/base/body-row.js.map +1 -1
- package/dist/esm/deprecated/components/Table/base/body.js.map +1 -1
- package/dist/esm/deprecated/components/Table/base/header-row.js.map +1 -1
- package/dist/esm/deprecated/components/Table/base/resolve-row-key.js.map +1 -1
- package/dist/esm/index.d.ts +0 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +0 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/test-helpers/data-helpers.js.map +1 -1
- package/dist/js/components/Table/ActionsColumn.d.ts +2 -0
- package/dist/js/components/Table/ActionsColumn.d.ts.map +1 -1
- package/dist/js/components/Table/ActionsColumn.js +4 -5
- package/dist/js/components/Table/ActionsColumn.js.map +1 -1
- package/dist/js/components/Table/CollapseColumn.js.map +1 -1
- package/dist/js/components/Table/DraggableCell.d.ts.map +1 -1
- package/dist/js/components/Table/DraggableCell.js +1 -2
- package/dist/js/components/Table/DraggableCell.js.map +1 -1
- package/dist/js/components/Table/EditColumn.d.ts.map +1 -1
- package/dist/js/components/Table/EditColumn.js +3 -6
- package/dist/js/components/Table/EditColumn.js.map +1 -1
- package/dist/js/components/Table/EditableSelectInputCell.d.ts +3 -4
- package/dist/js/components/Table/EditableSelectInputCell.d.ts.map +1 -1
- package/dist/js/components/Table/EditableSelectInputCell.js +8 -4
- package/dist/js/components/Table/EditableSelectInputCell.js.map +1 -1
- package/dist/js/components/Table/EditableTextCell.js.map +1 -1
- package/dist/js/components/Table/FavoritesCell.d.ts.map +1 -1
- package/dist/js/components/Table/FavoritesCell.js +1 -2
- package/dist/js/components/Table/FavoritesCell.js.map +1 -1
- package/dist/js/components/Table/HeaderCellInfoWrapper.d.ts.map +1 -1
- package/dist/js/components/Table/HeaderCellInfoWrapper.js +2 -4
- package/dist/js/components/Table/HeaderCellInfoWrapper.js.map +1 -1
- package/dist/js/components/Table/RowWrapper.js +0 -1
- package/dist/js/components/Table/RowWrapper.js.map +1 -1
- package/dist/js/components/Table/SelectColumn.js +1 -1
- package/dist/js/components/Table/SelectColumn.js.map +1 -1
- package/dist/js/components/Table/SortColumn.js +1 -2
- package/dist/js/components/Table/SortColumn.js.map +1 -1
- package/dist/js/components/Table/Table.d.ts.map +1 -1
- package/dist/js/components/Table/Table.js +3 -3
- package/dist/js/components/Table/Table.js.map +1 -1
- package/dist/js/components/Table/TableText.js +2 -2
- package/dist/js/components/Table/TableText.js.map +1 -1
- package/dist/js/components/Table/TableTypes.d.ts +26 -25
- package/dist/js/components/Table/TableTypes.d.ts.map +1 -1
- package/dist/js/components/Table/TableTypes.js +2 -6
- package/dist/js/components/Table/TableTypes.js.map +1 -1
- package/dist/js/components/Table/Td.d.ts +1 -1
- package/dist/js/components/Table/Td.js +3 -3
- package/dist/js/components/Table/Td.js.map +1 -1
- package/dist/js/components/Table/Th.d.ts +8 -0
- package/dist/js/components/Table/Th.d.ts.map +1 -1
- package/dist/js/components/Table/Th.js +10 -6
- package/dist/js/components/Table/Th.js.map +1 -1
- package/dist/js/components/Table/Tr.js.map +1 -1
- package/dist/js/components/Table/base/columns-are-equal.js.map +1 -1
- package/dist/js/components/Table/base/evaluate-transforms.js.map +1 -1
- package/dist/js/components/Table/base/merge-props.js.map +1 -1
- package/dist/js/components/Table/base/provider.js.map +1 -1
- package/dist/js/components/Table/base/types.d.ts +16 -17
- package/dist/js/components/Table/base/types.d.ts.map +1 -1
- package/dist/js/components/Table/base/types.js +0 -4
- package/dist/js/components/Table/base/types.js.map +1 -1
- package/dist/js/components/Table/utils/decorators/compoundExpand.js.map +1 -1
- package/dist/js/components/Table/utils/decorators/editable.js.map +1 -1
- package/dist/js/components/Table/utils/decorators/favoritable.js.map +1 -1
- package/dist/js/components/Table/utils/decorators/selectable.js +1 -1
- package/dist/js/components/Table/utils/decorators/selectable.js.map +1 -1
- package/dist/js/components/Table/utils/decorators/sortable.js.map +1 -1
- package/dist/js/components/Table/utils/decorators/treeRow.d.ts +1 -1
- package/dist/js/components/Table/utils/decorators/treeRow.js.map +1 -1
- package/dist/js/components/Table/utils/headerUtils.js.map +1 -1
- package/dist/js/components/Table/utils/utils.js.map +1 -1
- package/dist/js/demos/DashboardHeader.d.ts +8 -0
- package/dist/js/demos/DashboardHeader.d.ts.map +1 -0
- package/dist/js/demos/DashboardHeader.js +82 -0
- package/dist/js/demos/DashboardHeader.js.map +1 -0
- package/dist/js/demos/DashboardWrapper.d.ts +85 -0
- package/dist/js/demos/DashboardWrapper.d.ts.map +1 -0
- package/dist/js/demos/DashboardWrapper.js +45 -0
- package/dist/js/demos/DashboardWrapper.js.map +1 -0
- package/dist/js/demos/index.d.ts +2 -0
- package/dist/js/demos/index.d.ts.map +1 -1
- package/dist/js/demos/index.js +2 -0
- package/dist/js/demos/index.js.map +1 -1
- package/dist/js/deprecated/components/Table/Body.d.ts +1 -1
- package/dist/js/deprecated/components/Table/Body.d.ts.map +1 -1
- package/dist/js/deprecated/components/Table/Body.js.map +1 -1
- package/dist/js/deprecated/components/Table/BodyCell.js +0 -1
- package/dist/js/deprecated/components/Table/BodyCell.js.map +1 -1
- package/dist/js/deprecated/components/Table/BodyWrapper.js.map +1 -1
- package/dist/js/deprecated/components/Table/Table.d.ts.map +1 -1
- package/dist/js/deprecated/components/Table/Table.js +9 -10
- package/dist/js/deprecated/components/Table/Table.js.map +1 -1
- package/dist/js/deprecated/components/Table/base/body-row.js.map +1 -1
- package/dist/js/deprecated/components/Table/base/body.js.map +1 -1
- package/dist/js/deprecated/components/Table/base/header-row.js.map +1 -1
- package/dist/js/deprecated/components/Table/base/resolve-row-key.js.map +1 -1
- package/dist/js/index.d.ts +0 -1
- package/dist/js/index.d.ts.map +1 -1
- package/dist/js/index.js +0 -1
- package/dist/js/index.js.map +1 -1
- package/dist/js/test-helpers/data-helpers.js.map +1 -1
- package/dist/umd/assets/output-CSOvZ1qr.css +27197 -0
- package/dist/umd/react-table.min.js +4 -5
- package/package.json +8 -12
- package/rollup.config.mjs +8 -0
- package/single-packages.config.json +3 -6
- package/src/components/Table/ActionsColumn.tsx +35 -31
- package/src/components/Table/DraggableCell.tsx +2 -3
- package/src/components/Table/EditColumn.tsx +21 -9
- package/src/components/Table/EditableSelectInputCell.tsx +15 -10
- package/src/components/Table/FavoritesCell.tsx +2 -3
- package/src/components/Table/HeaderCellInfoWrapper.tsx +10 -6
- package/src/components/Table/Table.tsx +4 -4
- package/src/components/Table/TableTypes.tsx +9 -8
- package/src/components/Table/Td.tsx +5 -5
- package/src/components/Table/Th.tsx +24 -6
- package/src/components/Table/__tests__/Th.test.tsx +31 -0
- package/src/components/Table/__tests__/__snapshots__/RowWrapper.test.tsx.snap +4 -4
- package/src/components/Table/base/types.tsx +6 -7
- package/src/components/Table/examples/Table.md +35 -4
- package/src/components/Table/examples/TableActions.tsx +2 -2
- package/src/components/Table/examples/TableActionsOverflow.tsx +3 -4
- package/src/components/Table/examples/TableCompoundExpandable.tsx +1 -1
- package/src/components/Table/examples/TableDraggable.tsx +19 -16
- package/src/components/Table/examples/TableEmptyState.tsx +1 -8
- package/src/components/Table/examples/TableExpandable.tsx +1 -1
- package/src/components/Table/examples/TableMisc.tsx +2 -2
- package/src/components/Table/examples/TableNestedExpandable.tsx +1 -1
- package/src/components/Table/examples/TableNestedHeaders.tsx +4 -7
- package/src/components/Table/examples/TableNestedStickyHeader.tsx +4 -10
- package/src/components/Table/examples/TableNestedTableExpandable.tsx +1 -1
- package/src/components/Table/examples/TableSelectable.tsx +1 -0
- package/src/components/Table/examples/TableSelectableRadio.tsx +1 -1
- package/src/components/Table/examples/TableSortableCustom.tsx +2 -3
- package/src/components/Table/examples/TableStickyColumnsAndHeader.tsx +1 -1
- package/src/components/Table/examples/TableStripedExpandable.tsx +1 -1
- package/src/components/Table/utils/__snapshots__/transformers.test.tsx.snap +4 -4
- package/src/components/Table/utils/decorators/selectable.tsx +1 -1
- package/src/components/Table/utils/transformers.test.tsx +4 -7
- package/src/demos/DashboardHeader.tsx +198 -0
- package/src/demos/DashboardWrapper.tsx +199 -0
- package/src/demos/Table.md +28 -5
- package/src/demos/assets/avatarImg.svg +18 -0
- package/src/demos/assets/index.d.ts +4 -0
- package/src/demos/assets/pf-logo.svg +28 -0
- package/src/demos/examples/TableBulkSelect.tsx +2 -2
- package/src/demos/examples/TableColumnManagement.tsx +2 -2
- package/src/demos/examples/TableColumnManagementWithDraggable.tsx +3 -7
- package/src/demos/examples/TableCompact.tsx +8 -3
- package/src/demos/examples/TableCompoundExpansion.tsx +4 -3
- package/src/demos/examples/TableEmptyStateDefault.tsx +7 -9
- package/src/demos/examples/TableEmptyStateError.tsx +8 -18
- package/src/demos/examples/TableEmptyStateLoading.tsx +3 -13
- package/src/demos/examples/TableExpandCollapseAll.tsx +3 -2
- package/src/demos/examples/TableFilterable.tsx +10 -17
- package/src/demos/examples/TableSortableResponsive.tsx +6 -8
- package/src/demos/examples/TableStaticBottomPagination.tsx +8 -3
- package/src/demos/examples/TableStickyFirstColumn.tsx +1 -1
- package/src/demos/examples/TableStickyHeader.tsx +1 -1
- package/src/demos/index.ts +2 -0
- package/src/deprecated/components/Table/Table.tsx +2 -3
- package/src/deprecated/components/Table/__tests__/__snapshots__/Table.test.tsx.snap +2457 -2274
- package/src/deprecated/components/Table/examples/LegacyTableEmptyState.tsx +6 -8
- package/src/deprecated/components/Table/examples/LegacyTableMisc.tsx +2 -2
- package/src/deprecated/components/Table/examples/LegacyTableSortableCustom.tsx +2 -3
- package/src/deprecated/components/Table/examples/Table.md +48 -41
- package/src/index.ts +0 -1
- package/rollup.config.js +0 -7
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@patternfly/react-table",
|
|
3
|
-
"version": "6.0.0-alpha.
|
|
3
|
+
"version": "6.0.0-alpha.81",
|
|
4
4
|
"description": "This library provides a set of React table components for use with the PatternFly 4",
|
|
5
5
|
"main": "dist/js/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -40,20 +40,16 @@
|
|
|
40
40
|
"subpaths": "node ../../scripts/exportSubpaths.js --config subpaths.config.json"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@patternfly/react-core": "^6.0.0-alpha.
|
|
44
|
-
"@patternfly/react-icons": "^6.0.0-alpha.
|
|
45
|
-
"@patternfly/react-styles": "^6.0.0-alpha.
|
|
46
|
-
"@patternfly/react-tokens": "^6.0.0-alpha.
|
|
47
|
-
"lodash": "^4.17.
|
|
48
|
-
"tslib": "^2.
|
|
49
|
-
},
|
|
50
|
-
"devDependencies": {
|
|
51
|
-
"rimraf": "^2.6.2",
|
|
52
|
-
"typescript": "^4.7.4"
|
|
43
|
+
"@patternfly/react-core": "^6.0.0-alpha.80",
|
|
44
|
+
"@patternfly/react-icons": "^6.0.0-alpha.29",
|
|
45
|
+
"@patternfly/react-styles": "^6.0.0-alpha.28",
|
|
46
|
+
"@patternfly/react-tokens": "^6.0.0-alpha.28",
|
|
47
|
+
"lodash": "^4.17.21",
|
|
48
|
+
"tslib": "^2.6.3"
|
|
53
49
|
},
|
|
54
50
|
"peerDependencies": {
|
|
55
51
|
"react": "^17 || ^18",
|
|
56
52
|
"react-dom": "^17 || ^18"
|
|
57
53
|
},
|
|
58
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "b5ff689e492d13a4bda9794faf7015dd7b976d6a"
|
|
59
55
|
}
|
|
@@ -30,6 +30,8 @@ export interface ActionsColumnProps extends Omit<React.HTMLProps<HTMLElement>, '
|
|
|
30
30
|
innerRef?: React.Ref<any>;
|
|
31
31
|
/** Ref to forward to the first item in the popup menu */
|
|
32
32
|
firstActionItemRef?: React.Ref<HTMLButtonElement>;
|
|
33
|
+
/** Flag indicating that the dropdown's onOpenChange callback should not be called. */
|
|
34
|
+
isOnOpenChangeDisabled?: boolean;
|
|
33
35
|
}
|
|
34
36
|
|
|
35
37
|
const ActionsColumnBase: React.FunctionComponent<ActionsColumnProps> = ({
|
|
@@ -44,6 +46,7 @@ const ActionsColumnBase: React.FunctionComponent<ActionsColumnProps> = ({
|
|
|
44
46
|
},
|
|
45
47
|
innerRef,
|
|
46
48
|
firstActionItemRef,
|
|
49
|
+
isOnOpenChangeDisabled = false,
|
|
47
50
|
...props
|
|
48
51
|
}: ActionsColumnProps) => {
|
|
49
52
|
const [isOpen, setIsOpen] = React.useState(false);
|
|
@@ -91,7 +94,7 @@ const ActionsColumnBase: React.FunctionComponent<ActionsColumnProps> = ({
|
|
|
91
94
|
|
|
92
95
|
<Dropdown
|
|
93
96
|
isOpen={isOpen}
|
|
94
|
-
onOpenChange={(isOpen: boolean) => setIsOpen(isOpen)}
|
|
97
|
+
onOpenChange={!isOnOpenChangeDisabled ? (isOpen: boolean) => setIsOpen(isOpen) : undefined}
|
|
95
98
|
toggle={(toggleRef: any) =>
|
|
96
99
|
actionsToggle ? (
|
|
97
100
|
actionsToggle({ onToggle, isOpen, isDisabled, toggleRef })
|
|
@@ -103,9 +106,8 @@ const ActionsColumnBase: React.FunctionComponent<ActionsColumnProps> = ({
|
|
|
103
106
|
isExpanded={isOpen}
|
|
104
107
|
isDisabled={isDisabled}
|
|
105
108
|
variant="plain"
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
</MenuToggle>
|
|
109
|
+
icon={<EllipsisVIcon />}
|
|
110
|
+
/>
|
|
109
111
|
)
|
|
110
112
|
}
|
|
111
113
|
{...(rowData && rowData.actionProps)}
|
|
@@ -116,35 +118,37 @@ const ActionsColumnBase: React.FunctionComponent<ActionsColumnProps> = ({
|
|
|
116
118
|
<DropdownList>
|
|
117
119
|
{items
|
|
118
120
|
.filter((item) => !item.isOutsideDropdown)
|
|
119
|
-
.map(
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
if (tooltipProps?.content) {
|
|
139
|
-
return (
|
|
140
|
-
<Tooltip key={itemKey || index} {...tooltipProps}>
|
|
141
|
-
{item}
|
|
142
|
-
</Tooltip>
|
|
121
|
+
.map(
|
|
122
|
+
({ title, itemKey, onClick, tooltipProps, isSeparator, shouldCloseOnClick = true, ...props }, index) => {
|
|
123
|
+
if (isSeparator) {
|
|
124
|
+
return <Divider key={itemKey || index} data-key={itemKey || index} />;
|
|
125
|
+
}
|
|
126
|
+
const item = (
|
|
127
|
+
<DropdownItem
|
|
128
|
+
onClick={(event: any) => {
|
|
129
|
+
onActionClick(event, onClick);
|
|
130
|
+
shouldCloseOnClick && onToggle();
|
|
131
|
+
}}
|
|
132
|
+
{...props}
|
|
133
|
+
key={itemKey || index}
|
|
134
|
+
data-key={itemKey || index}
|
|
135
|
+
ref={index === 0 ? firstActionItemRef : undefined}
|
|
136
|
+
>
|
|
137
|
+
{title}
|
|
138
|
+
</DropdownItem>
|
|
143
139
|
);
|
|
144
|
-
|
|
145
|
-
|
|
140
|
+
|
|
141
|
+
if (tooltipProps?.content) {
|
|
142
|
+
return (
|
|
143
|
+
<Tooltip key={itemKey || index} {...tooltipProps}>
|
|
144
|
+
{item}
|
|
145
|
+
</Tooltip>
|
|
146
|
+
);
|
|
147
|
+
} else {
|
|
148
|
+
return item;
|
|
149
|
+
}
|
|
146
150
|
}
|
|
147
|
-
|
|
151
|
+
)}
|
|
148
152
|
</DropdownList>
|
|
149
153
|
</Dropdown>
|
|
150
154
|
</React.Fragment>
|
|
@@ -24,9 +24,8 @@ export const DraggableCell: React.FunctionComponent<DraggableCellProps> = ({
|
|
|
24
24
|
aria-label={ariaLabel || `Draggable row draggable button`}
|
|
25
25
|
onClick={onClick}
|
|
26
26
|
{...props}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
</Button>
|
|
27
|
+
icon={<GripVerticalIcon aria-hidden />}
|
|
28
|
+
/>
|
|
30
29
|
);
|
|
31
30
|
|
|
32
31
|
DraggableCell.displayName = 'DraggableCell';
|
|
@@ -33,20 +33,32 @@ export const EditColumn: React.FunctionComponent<EditColumnProps> = ({
|
|
|
33
33
|
<React.Fragment>
|
|
34
34
|
<div className={css(inlineStyles.inlineEditGroup, inlineStyles.modifiers.iconGroup, 'pf-m-action-group')}>
|
|
35
35
|
<div className={css(inlineStyles.inlineEditAction)}>
|
|
36
|
-
<Button
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
<Button
|
|
37
|
+
aria-label={saveAriaLabel}
|
|
38
|
+
{...props}
|
|
39
|
+
onClick={(e) => onClick(e, 'save')}
|
|
40
|
+
variant="plain"
|
|
41
|
+
icon={<CheckIcon />}
|
|
42
|
+
/>
|
|
39
43
|
</div>
|
|
40
44
|
<div className={css(inlineStyles.inlineEditAction)}>
|
|
41
|
-
<Button
|
|
42
|
-
|
|
43
|
-
|
|
45
|
+
<Button
|
|
46
|
+
aria-label={cancelAriaLabel}
|
|
47
|
+
{...props}
|
|
48
|
+
onClick={(e) => onClick(e, 'cancel')}
|
|
49
|
+
variant="plain"
|
|
50
|
+
icon={<TimesIcon />}
|
|
51
|
+
/>
|
|
44
52
|
</div>
|
|
45
53
|
</div>
|
|
46
54
|
<div className={css(inlineStyles.inlineEditAction, inlineStyles.modifiers.enableEditable)}>
|
|
47
|
-
<Button
|
|
48
|
-
|
|
49
|
-
|
|
55
|
+
<Button
|
|
56
|
+
aria-label={editAriaLabel}
|
|
57
|
+
{...props}
|
|
58
|
+
onClick={(e) => onClick(e, 'edit')}
|
|
59
|
+
variant="plain"
|
|
60
|
+
icon={<PencilAltIcon />}
|
|
61
|
+
/>
|
|
50
62
|
</div>
|
|
51
63
|
</React.Fragment>
|
|
52
64
|
);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { css } from '@patternfly/react-styles';
|
|
3
|
-
import { Select,
|
|
3
|
+
import { Select, SelectList } from '@patternfly/react-core/dist/esm/components/Select';
|
|
4
|
+
import { MenuToggle } from '@patternfly/react-core/dist/esm/components/MenuToggle';
|
|
4
5
|
import inlineStyles from '@patternfly/react-styles/css/components/InlineEdit/inline-edit';
|
|
5
6
|
import formStyles from '@patternfly/react-styles/css/components/Form/form';
|
|
6
7
|
import { EditableSelectInputProps } from './base/types';
|
|
@@ -15,7 +16,7 @@ export interface IEditableSelectInputCell extends Omit<React.HTMLProps<HTMLEleme
|
|
|
15
16
|
/** Event handler which fires when user selects an option in this cell */
|
|
16
17
|
onSelect: (
|
|
17
18
|
event: React.MouseEvent | React.ChangeEvent,
|
|
18
|
-
newValue:
|
|
19
|
+
newValue: any | any[],
|
|
19
20
|
rowIndex: number,
|
|
20
21
|
cellIndex: number,
|
|
21
22
|
isPlaceholder?: boolean
|
|
@@ -25,11 +26,11 @@ export interface IEditableSelectInputCell extends Omit<React.HTMLProps<HTMLEleme
|
|
|
25
26
|
/** Flag indicating the select input is disabled */
|
|
26
27
|
isDisabled?: boolean;
|
|
27
28
|
/** Current selected options to display as the read only value of the table cell */
|
|
28
|
-
selections?:
|
|
29
|
+
selections?: any | any[];
|
|
29
30
|
/** Flag indicating the select menu is open */
|
|
30
31
|
isOpen?: boolean;
|
|
31
32
|
/** Event handler which fires when the select toggle is toggled */
|
|
32
|
-
onToggle?: (event: React.MouseEvent |
|
|
33
|
+
onToggle?: (event: React.MouseEvent | undefined) => void;
|
|
33
34
|
/** Event handler which fires when the user clears the selections */
|
|
34
35
|
clearSelection?: (event: React.MouseEvent, rowIndex: number, cellIndex: number) => void;
|
|
35
36
|
}
|
|
@@ -48,10 +49,10 @@ export const EditableSelectInputCell: React.FunctionComponent<IEditableSelectInp
|
|
|
48
49
|
}: IEditableSelectInputCell) => {
|
|
49
50
|
const onSelectHandler = (
|
|
50
51
|
event: React.MouseEvent | React.ChangeEvent,
|
|
51
|
-
newValue:
|
|
52
|
-
isPlaceholder: boolean
|
|
52
|
+
newValue: any | any[]
|
|
53
|
+
// isPlaceholder: boolean
|
|
53
54
|
) => {
|
|
54
|
-
onSelect(event, newValue, rowIndex, cellIndex
|
|
55
|
+
onSelect(event, newValue, rowIndex, cellIndex);
|
|
55
56
|
};
|
|
56
57
|
|
|
57
58
|
const onClear = (event: React.MouseEvent) => {
|
|
@@ -64,10 +65,14 @@ export const EditableSelectInputCell: React.FunctionComponent<IEditableSelectInp
|
|
|
64
65
|
onSelect={onSelectHandler}
|
|
65
66
|
{...(clearSelection && { onClear })}
|
|
66
67
|
isOpen={isOpen}
|
|
67
|
-
|
|
68
|
-
|
|
68
|
+
selected={selections}
|
|
69
|
+
toggle={(toggleRef: any) => (
|
|
70
|
+
<MenuToggle ref={toggleRef} onClick={onToggle} isExpanded={isOpen}>
|
|
71
|
+
{isOpen ? 'Expanded' : 'Collapsed'}
|
|
72
|
+
</MenuToggle>
|
|
73
|
+
)}
|
|
69
74
|
>
|
|
70
|
-
{options}
|
|
75
|
+
<SelectList>{options}</SelectList>
|
|
71
76
|
</Select>
|
|
72
77
|
);
|
|
73
78
|
|
|
@@ -33,9 +33,8 @@ export const FavoritesCell: React.FunctionComponent<FavoritesCellProps> = ({
|
|
|
33
33
|
onClick={onFavorite}
|
|
34
34
|
{...ariaProps}
|
|
35
35
|
{...props}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
</Button>
|
|
36
|
+
icon={<StarIcon aria-hidden />}
|
|
37
|
+
/>
|
|
39
38
|
);
|
|
40
39
|
};
|
|
41
40
|
FavoritesCell.displayName = 'FavoritesCell';
|
|
@@ -52,15 +52,19 @@ export const HeaderCellInfoWrapper: React.FunctionComponent<ColumnHelpWrapperPro
|
|
|
52
52
|
<span className={css(styles.tableColumnHelpAction)}>
|
|
53
53
|
{variant === 'tooltip' ? (
|
|
54
54
|
<Tooltip content={info} {...tooltipProps}>
|
|
55
|
-
<Button
|
|
56
|
-
|
|
57
|
-
|
|
55
|
+
<Button
|
|
56
|
+
variant="plain"
|
|
57
|
+
aria-label={ariaLabel || (typeof info === 'string' && info) || 'More info'}
|
|
58
|
+
icon={<HelpIcon />}
|
|
59
|
+
/>
|
|
58
60
|
</Tooltip>
|
|
59
61
|
) : (
|
|
60
62
|
<Popover bodyContent={info} {...popoverProps}>
|
|
61
|
-
<Button
|
|
62
|
-
|
|
63
|
-
|
|
63
|
+
<Button
|
|
64
|
+
variant="plain"
|
|
65
|
+
aria-label={ariaLabel || (typeof info === 'string' && info) || 'More info'}
|
|
66
|
+
icon={<HelpIcon />}
|
|
67
|
+
/>
|
|
64
68
|
</Popover>
|
|
65
69
|
)}
|
|
66
70
|
</span>
|
|
@@ -5,7 +5,7 @@ import stylesTreeView from '@patternfly/react-styles/css/components/Table/table-
|
|
|
5
5
|
import { css } from '@patternfly/react-styles';
|
|
6
6
|
import { toCamel } from './utils';
|
|
7
7
|
import { IVisibility } from './utils/decorators/classNames';
|
|
8
|
-
import { useOUIAProps, OUIAProps, handleArrows, setTabIndex } from '@patternfly/react-core';
|
|
8
|
+
import { useOUIAProps, OUIAProps, handleArrows, setTabIndex, KeyTypes } from '@patternfly/react-core';
|
|
9
9
|
import { TableGridBreakpoint, TableVariant } from './TableTypes';
|
|
10
10
|
|
|
11
11
|
export interface BaseCellProps {
|
|
@@ -124,7 +124,7 @@ const TableBase: React.FunctionComponent<TableProps> = ({
|
|
|
124
124
|
setTableCaption(
|
|
125
125
|
<caption>
|
|
126
126
|
{selectableRowCaptionText}
|
|
127
|
-
<div className="pf-
|
|
127
|
+
<div className="pf-v6-screen-reader">
|
|
128
128
|
This table has selectable rows. It can be navigated by row using tab, and each row can be selected using
|
|
129
129
|
space or enter.
|
|
130
130
|
</div>
|
|
@@ -132,7 +132,7 @@ const TableBase: React.FunctionComponent<TableProps> = ({
|
|
|
132
132
|
);
|
|
133
133
|
} else {
|
|
134
134
|
setTableCaption(
|
|
135
|
-
<caption className="pf-
|
|
135
|
+
<caption className="pf-v6-screen-reader">
|
|
136
136
|
This table has selectable rows. It can be navigated by row using tab, and each row can be selected using space
|
|
137
137
|
or enter.
|
|
138
138
|
</caption>
|
|
@@ -169,7 +169,7 @@ const TableBase: React.FunctionComponent<TableProps> = ({
|
|
|
169
169
|
const rows = (Array.from(tableRef.current.querySelectorAll('tbody tr')) as Element[]).filter(
|
|
170
170
|
(el) => !el.classList.contains('pf-m-disabled') && !(el as HTMLElement).hidden
|
|
171
171
|
);
|
|
172
|
-
if (key ===
|
|
172
|
+
if (key === KeyTypes.Space || key === KeyTypes.Enter) {
|
|
173
173
|
(activeElement as HTMLElement).click();
|
|
174
174
|
event.preventDefault();
|
|
175
175
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { formatterValueType, ColumnType, RowType, RowKeyType, HeaderType } from './base/types';
|
|
2
2
|
import { SortByDirection } from './SortColumn';
|
|
3
3
|
import { DropdownItemProps } from '@patternfly/react-core/dist/esm/components/Dropdown';
|
|
4
|
-
import { DropdownDirection, DropdownPosition } from '@patternfly/react-core/dist/esm/deprecated/components/Dropdown';
|
|
5
4
|
import * as React from 'react';
|
|
6
5
|
import { CustomActionsToggleProps } from './ActionsColumn';
|
|
7
6
|
import { ButtonProps } from '@patternfly/react-core/dist/esm/components/Button';
|
|
@@ -102,8 +101,8 @@ export interface IColumn {
|
|
|
102
101
|
rowLabeledBy?: string;
|
|
103
102
|
expandId?: string;
|
|
104
103
|
contentId?: string;
|
|
105
|
-
dropdownPosition?:
|
|
106
|
-
dropdownDirection?:
|
|
104
|
+
dropdownPosition?: 'right' | 'left';
|
|
105
|
+
dropdownDirection?: 'up' | 'down';
|
|
107
106
|
menuAppendTo?: HTMLElement | (() => HTMLElement) | 'inline' | 'parent';
|
|
108
107
|
actionsToggle?: (props: CustomActionsToggleProps) => React.ReactNode;
|
|
109
108
|
actionsPopperProps?: any;
|
|
@@ -138,7 +137,7 @@ export interface IExtra extends IExtraData {
|
|
|
138
137
|
}
|
|
139
138
|
|
|
140
139
|
export type IFormatterValueType = formatterValueType & {
|
|
141
|
-
title?:
|
|
140
|
+
title?: React.ReactNode;
|
|
142
141
|
props?: any;
|
|
143
142
|
};
|
|
144
143
|
|
|
@@ -157,7 +156,7 @@ export interface IAction extends Omit<DropdownItemProps, 'title' | 'onClick'>, P
|
|
|
157
156
|
/** Key of actions menu item */
|
|
158
157
|
itemKey?: string;
|
|
159
158
|
/** Content to display in the actions menu item */
|
|
160
|
-
title?:
|
|
159
|
+
title?: React.ReactNode;
|
|
161
160
|
/** Render item as aria-disabled option */
|
|
162
161
|
isAriaDisabled?: boolean;
|
|
163
162
|
/** Props for adding a tooltip to a menu item. This is used to display tooltip when hovered over the item */
|
|
@@ -166,6 +165,8 @@ export interface IAction extends Omit<DropdownItemProps, 'title' | 'onClick'>, P
|
|
|
166
165
|
onClick?: (event: React.MouseEvent, rowIndex: number, rowData: IRowData, extraData: IExtraData) => void;
|
|
167
166
|
/** Flag indicating this action should be placed outside the actions menu, beside the toggle */
|
|
168
167
|
isOutsideDropdown?: boolean;
|
|
168
|
+
/** Flag indicating whether the actions dropdown should close after an item is clicked. */
|
|
169
|
+
shouldCloseOnClick?: boolean;
|
|
169
170
|
}
|
|
170
171
|
|
|
171
172
|
export interface ISeparator extends IAction {
|
|
@@ -189,7 +190,7 @@ export interface decoratorReturnType {
|
|
|
189
190
|
textCenter?: boolean;
|
|
190
191
|
component?: string;
|
|
191
192
|
isVisible?: boolean;
|
|
192
|
-
title?:
|
|
193
|
+
title?: React.ReactNode;
|
|
193
194
|
props?: any;
|
|
194
195
|
scope?: string;
|
|
195
196
|
parentId?: number;
|
|
@@ -203,7 +204,7 @@ export type IFormatter = (data?: IFormatterValueType, extra?: IExtra) => formatt
|
|
|
203
204
|
|
|
204
205
|
export interface ICell {
|
|
205
206
|
/* cell contents */
|
|
206
|
-
title?:
|
|
207
|
+
title?: React.ReactNode;
|
|
207
208
|
/** transformations applied to the header cell */
|
|
208
209
|
transforms?: ITransform[];
|
|
209
210
|
/** transformations applied to the cells within the column's body */
|
|
@@ -227,7 +228,7 @@ export interface ICell {
|
|
|
227
228
|
export type RowCellContent<T = any> = (value?: string, rowIndex?: number, cellIndex?: number, props?: T) => void;
|
|
228
229
|
|
|
229
230
|
export interface IRowCell<T = any> {
|
|
230
|
-
title?:
|
|
231
|
+
title?: React.ReactNode | RowCellContent<T>;
|
|
231
232
|
props?: T;
|
|
232
233
|
formatters?: IFormatter[];
|
|
233
234
|
}
|
|
@@ -30,8 +30,8 @@ import {
|
|
|
30
30
|
TdTreeRowType
|
|
31
31
|
} from './base/types';
|
|
32
32
|
import cssStickyCellMinWidth from '@patternfly/react-tokens/dist/esm/c_table__sticky_cell_MinWidth';
|
|
33
|
-
import
|
|
34
|
-
import
|
|
33
|
+
import cssStickyCellInlineStart from '@patternfly/react-tokens/dist/esm/c_table__sticky_cell_InsetInlineStart';
|
|
34
|
+
import cssStickyCellInlineEnd from '@patternfly/react-tokens/dist/esm/c_table__sticky_cell_InsetInlineEnd';
|
|
35
35
|
|
|
36
36
|
export interface TdProps extends BaseCellProps, Omit<React.HTMLProps<HTMLTableDataCellElement>, 'onSelect' | 'width'> {
|
|
37
37
|
/**
|
|
@@ -55,7 +55,7 @@ export interface TdProps extends BaseCellProps, Omit<React.HTMLProps<HTMLTableDa
|
|
|
55
55
|
draggableRow?: TdDraggableType;
|
|
56
56
|
/** True to remove padding */
|
|
57
57
|
noPadding?: boolean;
|
|
58
|
-
/** Applies pf-
|
|
58
|
+
/** Applies pf-v6-c-table__action to td */
|
|
59
59
|
isActionCell?: boolean;
|
|
60
60
|
/**
|
|
61
61
|
* Tooltip to show on the body cell.
|
|
@@ -294,8 +294,8 @@ const TdBase: React.FunctionComponent<TdProps> = ({
|
|
|
294
294
|
{...(isStickyColumn && {
|
|
295
295
|
style: {
|
|
296
296
|
[cssStickyCellMinWidth.name]: stickyMinWidth ? stickyMinWidth : undefined,
|
|
297
|
-
[
|
|
298
|
-
[
|
|
297
|
+
[cssStickyCellInlineStart.name]: stickyLeftOffset ? stickyLeftOffset : 0,
|
|
298
|
+
[cssStickyCellInlineEnd.name]: stickyRightOffset ? stickyRightOffset : 0,
|
|
299
299
|
...props.style
|
|
300
300
|
} as React.CSSProperties
|
|
301
301
|
})}
|
|
@@ -10,8 +10,8 @@ import { Tooltip, TooltipProps } from '@patternfly/react-core/dist/esm/component
|
|
|
10
10
|
import { BaseCellProps } from './Table';
|
|
11
11
|
import { IFormatterValueType, IColumn } from './TableTypes';
|
|
12
12
|
import cssStickyCellMinWidth from '@patternfly/react-tokens/dist/esm/c_table__sticky_cell_MinWidth';
|
|
13
|
-
import
|
|
14
|
-
import
|
|
13
|
+
import cssStickyCellInlineStart from '@patternfly/react-tokens/dist/esm/c_table__sticky_cell_InsetInlineStart';
|
|
14
|
+
import cssStickyCellInlineEnd from '@patternfly/react-tokens/dist/esm/c_table__sticky_cell_InsetInlineEnd';
|
|
15
15
|
|
|
16
16
|
export interface ThProps
|
|
17
17
|
extends BaseCellProps,
|
|
@@ -56,6 +56,14 @@ export interface ThProps
|
|
|
56
56
|
stickyRightOffset?: string;
|
|
57
57
|
/** Indicates the <th> is part of a subheader of a nested header */
|
|
58
58
|
isSubheader?: boolean;
|
|
59
|
+
/** Visually hidden text accessible only via assistive technologies. This must be passed in if the
|
|
60
|
+
* th is intended to be visually empty, and must be conveyed as a column header text.
|
|
61
|
+
*/
|
|
62
|
+
screenReaderText?: string;
|
|
63
|
+
/** Provides an accessible name to the th. This should only be passed in when the th contains only non-text
|
|
64
|
+
* content, such as a "select all" checkbox or "expand all" toggle.
|
|
65
|
+
*/
|
|
66
|
+
'aria-label'?: string;
|
|
59
67
|
}
|
|
60
68
|
|
|
61
69
|
const ThBase: React.FunctionComponent<ThProps> = ({
|
|
@@ -83,8 +91,17 @@ const ThBase: React.FunctionComponent<ThProps> = ({
|
|
|
83
91
|
stickyLeftOffset,
|
|
84
92
|
stickyRightOffset,
|
|
85
93
|
isSubheader = false,
|
|
94
|
+
screenReaderText,
|
|
95
|
+
'aria-label': ariaLabel,
|
|
86
96
|
...props
|
|
87
97
|
}: ThProps) => {
|
|
98
|
+
if (!children && !screenReaderText && !ariaLabel) {
|
|
99
|
+
// eslint-disable-next-line no-console
|
|
100
|
+
console.warn(
|
|
101
|
+
'Th: Table headers must have an accessible name. If the Th is intended to be visually empty, pass in screenReaderText. If the Th contains only non-text, interactive content such as a checkbox or expand toggle, pass in an aria-label.'
|
|
102
|
+
);
|
|
103
|
+
}
|
|
104
|
+
|
|
88
105
|
const [showTooltip, setShowTooltip] = React.useState(false);
|
|
89
106
|
const [truncated, setTruncated] = React.useState(false);
|
|
90
107
|
const cellRef = innerRef ? innerRef : React.createRef();
|
|
@@ -188,8 +205,9 @@ const ThBase: React.FunctionComponent<ThProps> = ({
|
|
|
188
205
|
onBlur={() => setShowTooltip(false)}
|
|
189
206
|
data-label={dataLabel}
|
|
190
207
|
onMouseEnter={tooltip !== null ? onMouseEnter : onMouseEnterProp}
|
|
191
|
-
scope={component === 'th'
|
|
208
|
+
scope={component === 'th' ? scope : null}
|
|
192
209
|
ref={cellRef}
|
|
210
|
+
aria-label={ariaLabel}
|
|
193
211
|
className={css(
|
|
194
212
|
styles.tableTh,
|
|
195
213
|
className,
|
|
@@ -206,13 +224,13 @@ const ThBase: React.FunctionComponent<ThProps> = ({
|
|
|
206
224
|
{...(isStickyColumn && {
|
|
207
225
|
style: {
|
|
208
226
|
[cssStickyCellMinWidth.name]: stickyMinWidth ? stickyMinWidth : undefined,
|
|
209
|
-
[
|
|
210
|
-
[
|
|
227
|
+
[cssStickyCellInlineStart.name]: stickyLeftOffset ? stickyLeftOffset : 0,
|
|
228
|
+
[cssStickyCellInlineEnd.name]: stickyRightOffset ? stickyRightOffset : 0,
|
|
211
229
|
...props.style
|
|
212
230
|
} as React.CSSProperties
|
|
213
231
|
})}
|
|
214
232
|
>
|
|
215
|
-
{transformedChildren}
|
|
233
|
+
{transformedChildren || (screenReaderText && <span className="pf-v5-screen-reader">{screenReaderText}</span>)}
|
|
216
234
|
</MergedComponent>
|
|
217
235
|
);
|
|
218
236
|
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { render, screen } from '@testing-library/react';
|
|
3
|
+
import { Th } from '../Th';
|
|
4
|
+
|
|
5
|
+
test('Does not render with aria-label by default', () => {
|
|
6
|
+
render(<Th />);
|
|
7
|
+
expect(screen.getByRole('columnheader')).not.toHaveAccessibleName();
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
test('Renders with aria-label when passed in', () => {
|
|
11
|
+
render(<Th aria-label="Test" />);
|
|
12
|
+
expect(screen.getByRole('columnheader')).toHaveAccessibleName('Test');
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
test('Does not render with screen reader text by default', () => {
|
|
16
|
+
render(<Th />);
|
|
17
|
+
|
|
18
|
+
expect(screen.getByRole('columnheader')).toBeEmptyDOMElement();
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
test('Does not render with screen reader text when children are passed in', () => {
|
|
22
|
+
render(<Th screenReaderText="Test">Heading label</Th>);
|
|
23
|
+
|
|
24
|
+
expect(screen.getByRole('columnheader')).not.toHaveTextContent('Test');
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
test('Renders with screen reader text when screenReaderText is passed in', () => {
|
|
28
|
+
render(<Th screenReaderText="Test" />);
|
|
29
|
+
|
|
30
|
+
expect(screen.getByRole('columnheader')).toHaveTextContent('Test');
|
|
31
|
+
});
|
|
@@ -5,9 +5,9 @@ exports[`RowWrapper renders correctly 1`] = `
|
|
|
5
5
|
<table>
|
|
6
6
|
<tbody>
|
|
7
7
|
<tr
|
|
8
|
-
class="pf-
|
|
8
|
+
class="pf-v6-c-table__tr"
|
|
9
9
|
data-ouia-component-id="OUIA-Generated-TableRow-1"
|
|
10
|
-
data-ouia-component-type="
|
|
10
|
+
data-ouia-component-type="PF6/TableRow"
|
|
11
11
|
data-ouia-safe="true"
|
|
12
12
|
/>
|
|
13
13
|
</tbody>
|
|
@@ -20,9 +20,9 @@ exports[`RowWrapper renders expanded correctly 1`] = `
|
|
|
20
20
|
<table>
|
|
21
21
|
<tbody>
|
|
22
22
|
<tr
|
|
23
|
-
class="pf-
|
|
23
|
+
class="pf-v6-c-table__tr pf-v6-c-table__expandable-row pf-m-expanded"
|
|
24
24
|
data-ouia-component-id="OUIA-Generated-TableRow-2"
|
|
25
|
-
data-ouia-component-type="
|
|
25
|
+
data-ouia-component-type="PF6/TableRow"
|
|
26
26
|
data-ouia-safe="true"
|
|
27
27
|
/>
|
|
28
28
|
</tbody>
|
|
@@ -8,8 +8,7 @@
|
|
|
8
8
|
import * as React from 'react';
|
|
9
9
|
import { TooltipProps } from '@patternfly/react-core/dist/esm/components/Tooltip';
|
|
10
10
|
import { PopoverProps } from '@patternfly/react-core/dist/esm/components/Popover';
|
|
11
|
-
import {
|
|
12
|
-
import { SelectOptionObject, SelectProps } from '@patternfly/react-core/dist/esm/deprecated/components/Select';
|
|
11
|
+
import { SelectProps } from '@patternfly/react-core/dist/esm/components/Select';
|
|
13
12
|
import { Table } from '../Table';
|
|
14
13
|
import { Thead } from '../Thead';
|
|
15
14
|
import { Tbody } from '../Tbody';
|
|
@@ -61,9 +60,9 @@ export interface TdActionsType {
|
|
|
61
60
|
/** Whether the actions are disabled */
|
|
62
61
|
isDisabled?: boolean;
|
|
63
62
|
/** Actions dropdown position */
|
|
64
|
-
dropdownPosition?:
|
|
63
|
+
dropdownPosition?: 'right' | 'left';
|
|
65
64
|
/** Actions dropdown direction */
|
|
66
|
-
dropdownDirection?:
|
|
65
|
+
dropdownDirection?: 'up' | 'down';
|
|
67
66
|
/** The container to append the dropdown menu to. Defaults to 'inline'.
|
|
68
67
|
* If your menu is being cut off you can append it to an element higher up the DOM tree.
|
|
69
68
|
* Some examples:
|
|
@@ -286,11 +285,11 @@ export interface EditableSelectInputProps {
|
|
|
286
285
|
value: string | string[];
|
|
287
286
|
/** Flag controlling isOpen state of select */
|
|
288
287
|
isSelectOpen: boolean;
|
|
289
|
-
/**
|
|
290
|
-
selected:
|
|
288
|
+
/** Single select option value for single select menus, or array of select option values for multi select. You can also specify isSelected on the SelectOption */
|
|
289
|
+
selected: any | any[];
|
|
291
290
|
/** Array of react elements to display in the select menu */
|
|
292
291
|
options: React.ReactElement[];
|
|
293
|
-
/** Props to be passed down to the
|
|
292
|
+
/** Props to be passed down to the select component */
|
|
294
293
|
editableSelectProps?: SelectProps;
|
|
295
294
|
/** arbitrary data to pass to the internal select component in the editable select input cell */
|
|
296
295
|
[key: string]: any;
|