Note: Table lives in its own package at @patternfly/react-table!
The Table
component takes an explicit and declarative approach, and its implementation closely mirrors that of an HTML table.
The documentation for the deprecated table implementation can be found under the React deprecated tab. It is configuration based and takes a less declarative and more implicit approach to laying out the table structure, such as the rows and cells within it.
Table examples
This Table
component differs from the deprecated Table
component, in that it allows you to compose the table by nesting the relevant Thead
, Tbody
, Tr
, Th
and Td
components within it. For a less declarative and more implicit approach, use the Table
component instead.
Some general notes:
- Provide
dataLabel
prop to theTd
components so that in mobile view the cell has a label to provide context. - If you want a table caption, simply place a
<Caption>My caption</Caption>
as the first child within aTable
. - You can set the
Table
variant tocompact
Basic
Repositories | Branches | Pull requests | Workspaces | Last commit |
---|---|---|---|---|
one | two | three | four | five |
one - 2 | four - 2 | five - 2 | ||
one - 3 | two - 3 | three - 3 | four - 3 | five - 3 |
Custom row wrapper, header tooltips & popovers
- If you add the
noWrap
prop toThead
, it won't wrap it if there is no space - You can add the
textCenter
prop toTh
orTd
to center the contents - You can pass
className
,style
and more toTr
To add a header tooltip or popover to Th
, pass a ThInfoType
object via the info
prop.
Repositories | Branches | Pull requests | Workspaces | Last commit | ||
---|---|---|---|---|---|---|
one | two | |||||
one - 2 | ||||||
one - 3 | two - 3 |
Sortable & wrapping headers
To make a column sortable, pass a ThSortType
object via the sort
prop on a column's Th
.
ThSortType
includes an OnSort
event handler which has the following signature:
type OnSort = (
event: React.MouseEvent,
columnIndex: number,
sortByDirection: SortByDirection,
extraData: IExtraColumnData
) => void;
The built in display for sorting is not fully responsive, as the column headers will be displayed per row when the screen size is small. To see a full page demo of a responsive sortable table, utilizing a toolbar item to control sorting for small screens, view the Sortable - responsive
demo in the React demos
tab.
Branches table header that goes on for a long time. | Workspaces table header that goes on for a long time. | Last commit table header that goes on for a long time. | ||
---|---|---|---|---|
one | two | a | four | five |
a | two | k | four | five |
p | two | b | four | five |
Sortable - custom control
Sorting a table may also be controlled manually with a toolbar control. To see a full page demo of a responsive table, view the Sortable - responsive
demo in the React demos
tab.
one | two | a | four | five |
a | two | k | four | five |
p | two | b | four | five |
Selectable with checkbox
To make a row selectable, the table needs a selection column. The selection column is just another column, but with selection specific props added. We add it as the first header cell and also as the first body cell for each row.
To make a column sortable, pass a ThSelectType
object via the select
prop on a column's Th
.
To make a row sortable, pass a TdSelectType
object via the select
prop on each rows's first Td
.
Both the TdSelectType
and the ThSelectType
expect an OnSelect
event handler with the following signature:
OnSelect:
type OnSelect = (
event: React.FormEvent<HTMLInputElement>,
isSelected: boolean,
rowIndex: number,
rowData: IRowData,
extraData: IExtraData
) => void;
Note: This example has a shift + select
feature where holding shift while
checking checkboxes will check intermediate rows' checkboxes.
Repositories | Branches | Pull requests | Workspaces | Last commit | |
---|---|---|---|---|---|
one | two | a | four | five | |
a | two | k | four | five | |
b | two | k | four | five | |
c | two | k | four | five | |
d | two | k | four | five | |
e | two | b | four | five |
Selectable radio input
Similarly to the selectable example above, the radio buttons use the first column. The first header cell is empty, and each body row's first cell has radio button props.
Row select | Repositories | Branches | Pull requests | Workspaces | Last commit |
---|---|---|---|---|---|
one | two | a | four | five | |
a | two | k | four | five | |
p | two | b | four | five |
Row click handler, clickable rows
This selectable rows feature is intended for use when a table is used to present a list of objects in a Primary-detail view.
Repositories | Branches | Pull requests | Workspaces | Last commit |
---|---|---|---|---|
one | two | three | four | five |
one - 2 | four - 2 | five - 2 | ||
one - 3 | two - 3 | three - 3 | four - 3 | five - 3 |
Editable rows
This example shows a table with editable rows. Cells in a row can be edited after clicking on the edit icon.
Text input | Disabled text input | Checkboxes | Radios | Row edit actions | |
---|---|---|---|---|---|
Editable text 1 | Non-editable text 1 | Option A | Option A | ||
Editable text 2 | Option B | ||||
Editable text 3 | Non-editable text 3 | Option A, Option B | Option A |
Actions
This example demonstrates adding actions as the last column. The header's last cell is an empty cell, and each body row's last cell is an action cell.
To make a cell an action cell, render an ActionsColumn
component inside a row's last Td
and pass an array of IAction
objects via the items
prop of ActionsColumn
.
If actions menus are getting clipped by other items on the page, such as sticky columns or rows, the ActionsColumn
can be passed a menuAppendTo
prop to adjust where the actions menu is appended.
Repositories | Branches | Pull requests | Workspaces | Last commit | Primary action | Secondary action |
---|---|---|---|---|---|---|
one | two | a | four | five | ||
a | two | k | four | five | ||
p | two | b | four | five | ||
4 | 2 | b | four | five | ||
5 | 2 | b | four | five |
Actions Overflow
Useing an OverflowMenu
in the actions column, allowing the actions to condense into a dropdown if necessary for space.
Repositories | Branches | Pull requests | Workspaces | Last commit | Actions |
---|---|---|---|---|---|
one | two | a | four | five | |
a | two | k | four | five | |
p | two | b | four | five | |
4 | 2 | b | four | five | |
5 | 2 | b | four | five |
Expandable
To make a parent/child row pair expandable:
- Make the first cell in every row an expandable cell by passing
TdExpandType
object to theexpand
prop on theTd
- Wrap the content of each child row cell in
ExpandableRowContent
. - Enclose each parent/child row pair in a
Tbody
component with anisExpanded
prop.
The TdExpandType
expects an OnCollapse
event handler that has the following signature:
type OnCollapse = (
event: React.MouseEvent,
rowIndex: number,
isOpen: boolean,
rowData: IRowData,
extraData: IExtraData
) => void;
Note: Table column widths will respond automatically when toggling expanded rows. To retain column widths between expanded and collapsed states, column header and/or data cell widths must be set.
Row expansion | Repositories | Branches | Pull requests | Workspaces | Last commit |
---|---|---|---|---|---|
one | two | a | four | five | |
parent 1 | two | k | four | five | |
parent 2 | two | b | four | five | |
parent 3 | 2 | b | four | five | |
parent 4 | 2 | b | four | five | |
parent 5 | 2 | b | four | five | |
parent 6 | 2 | b | four | five | |
Compound expandable
To make a parent/child row pair compound expandable:
- Pass a
TdCompoundExpandType
object to thecompoundExpand
prop on anyTd
that has an expandable child row - Wrap the content of each child row cell in
ExpandableRowContent
. - Each child
Tr
has anisExpanded
prop.
The TdCompoundExpandType
expects an OnExpand
event handler with the following signature
export type OnExpand = (
event: React.MouseEvent,
rowIndex: number,
colIndex: number,
isOpen: boolean,
rowData: IRowData,
extraData: IExtraData
) => void;
Repositories | Branches | Pull requests | Workspaces | Last commit | URL |
---|---|---|---|---|---|
siemur/test-space | 20 minutes | Open in GitHub | |||
siemur/test-space-2 | 20 minutes | Open in GitHub |
Cell width, breakpoint modifiers
Repositories | Branches | Pull requests | Workspaces | Last commit |
---|---|---|---|---|
one | two | three | four | five |
one - 2 | four - 2 | five - 2 | ||
one - 3 | two - 3 | three - 3 | four - 3 | five - 3 |
Controlling text
Truncate (width 20%) | Break word | Wrapping table header text. This th text will wrap instead of truncate. | Fit content | No wrap |
---|---|---|---|---|
This text will truncate instead of wrap. | http://thisisaverylongurlthatneedstobreakusethebreakwordmodifier.org | By default, | This cell's content will adjust itself to the parent th width. This modifier only affects table layouts. | No wrap |
Modifiers with table text
If the "wrapModifier" property is set to "truncate", it's needed to ensure that the corresponding tooltip can be opened using both keyboard and screen reader. Since this particular Td element is generic and doesn't have any predefined decorators, the focus management required to trigger the tooltip needs to be handled manually by defining and manipulating the requisite props.
Truncating text | Wrapping table header text. This th text will wrap instead of truncate. |
---|---|
This text will truncate instead of wrap. | This is a link that needs to be on one line and fully readable. |
Empty state
Repositories | Branches | Pull requests | Workspaces | Last commit | |||
---|---|---|---|---|---|---|---|
No results foundClear all filters and try again. |
Favoritable (implemented with sortable)
To make a row favoritable, the table needs a favoritable column.
Pass a TdFavoritesType
object via the favorites
prop on each rows's first Td
in the favoritable column.
The TdFavoritesType
expects an OnFavorite
event handler with the following signature:
type OnFavorite = (
event: React.MouseEvent,
isFavorited: boolean,
rowIndex: number,
rowData: IRowData,
extraData: IExtraData
) => void;
To make a favoritable column sortable, pass a ThSortType
object to the favoritable column's Th
with isFavorites
set to true.
Repositories | Branches | Pull requests | Workspaces | Last commit | |
---|---|---|---|---|---|
one | two | a | four | five | |
a | two | k | four | five | |
p | two | b | four | five |
Tree table
To enable a tree table:
Pass the
isTreeTable
prop to theTable
componentUse a
TreeRowWrapper
rather thanTr
Pass the following
props
to each row (both theTreeRowWrapper
and thetreeRow
in the first column):isExpanded
- Flag indicating the node is expanded and its children are visibleisDetailsExpanded
- (optional) Flag indicating the row's details are visible in responsive viewisHidden
- Flag indicating the node's parent is expanded and this node is visiblearia-level
- number representing how many levels deep this node is nestedaria-posinset
- number representing where in the order this node sits amongst its siblingsaria-setsize
- number representing the number of children this node hasisChecked
- (optional) if this row uses checkboxes, flag indicating the checkbox checkedicon
- (optional) ReactNode icon to display before the row titletoggleAriaLabel
- (optional) accessible label for the expand/collapse children rows toggle arrowcheckAriaLabel
- (optional) accessible label for the checkboxshowDetailsAriaLabel
- (optional) accessible label for the show row details button in the responsive view
The first
Td
in each row will pass the following to thetreeRow
prop:onCollapse
- Callback when user expands/collapses a row to reveal/hide the row's children.onCheckChange
- (optional) Callback when user changes the checkbox on a row.onToggleRowDetails
- (optional) Callback when user shows/hides the row details in responsive view.props
- (as defined above)rowIndex
- number representing the index of the row
Note: If this table is going to be tested using axe-core, the tests will flag the use of aria-level, aria-posinset, and aria-setsize as violations. This is an intentional choice at this time so that the voice over technologies will recognize the flat table structure as a tree.
Repositories | Branches | Pull requests | Workspaces |
---|---|---|---|
Repositories one | Branch one | Pull request one | Workplace one |
Repositories two | Branch two | Pull request two | Workplace two |
Repositories three | Branch three | Pull request three | Workplace three |
Repositories four | Branch four | Pull request four | Workplace four |
Repositories five | Branch five | Pull request five | Workplace five |
Repositories six | Branch six | Pull request six | Workplace six |
Repositories seven | Branch seven | Pull request seven | Workplace seven |
Repositories eight | Branch eight | Pull request eight | Workplace eight |
Repositories nine | Branch nine | Pull request nine | Workplace nine |
Flat tree table with no inset
To remove the inset used to leave space for the expand/collapse toggle in a flat tree table, use the hasNoInset
prop on the Table
component.
Repositories | Branches | Pull requests | Workspaces |
---|---|---|---|
Repositories one | Branch one | Pull request one | Workplace one |
Repositories seven | Branch seven | Pull request seven | Workplace seven |
Repositories nine | Branch nine | Pull request nine | Workplace nine |
Draggable row table
To make a row draggable:
- The table needs a draggable column.
- Each draggable
Tr
needs to be passeddraggable
,onDrop
,onDragEnd
, andonDragStart
props. - The
Tbody
needsonDragOver
,onDrop
, andonDragLeave
props. - While the user is dragging a row, the
pf-m-drag-over
class needs to be applied toTable
. - The draggable
Td
in each row needs aTdDraggableType
object passed to itsdraggable
prop.
Drag and drop | Repositories | Branches | Pull requests | Workspaces | Last commit |
---|---|---|---|---|---|
one | two | three | four | five | |
one -2 | four -2 | five -2 | |||
one - 3 | two - 3 | three - 3 | four - 3 | five - 3 |
Sticky table modifiers
To make certain columns and the header sticky, the table must be wrapped in a combination of OuterScrollContainer
and InnerScrollContainer
. For sticky columns, only InnerScrollContainer
is required. For sticky headers, and sticky headers with sticky columns, both containers are required to ensure the sticky behavior behaves correctly.
Note: Sticky table headers and columns have a higher z-index
than the z-index
used for menus (dropdown, select, etc). The intent is that the contents of a scrollable table will scroll under the sticky header/column, including any expanded menus. However, there may be use cases where a menu needs to appear on top of a sticky header/column, such as an expanded menu in a toolbar above a table with a sticky header.
There are a few ways this can be handled:
- Manipulate the
z-index
of the menu and/or table headers/columns manually. - Use the
menuAppendTo
prop in non-composable react components with menus to append the menu to an element outside of the table (e.g., the table's parent element) so that the menu has a higher stacking context than - and can appear on top of - sticky headers/columns as well as appear outside of any scrollable content in the table. - In the case where the menu is outside of the table (e.g., above the table in a toolbar, or below the table and the menu expands up), assign the entire table a lower
z-index
than thez-index
of the menu. This creates a lower stacking context for the entire table compared to the menu, while preserving the stacking context of the elements inside of the table.
Sticky column
To make a column sticky, wrap Table
with InnerScrollContainer
and add the following properties to the Th
or Td
that should be sticky:
isStickyColumn
hasRightBorder
for a left-aligned sticky column, orhasLeftBorder
for a right-aligned sticky column.
To prevent the default text wrapping behavior and allow horizontal scrolling, all Th
or Td
cells should also have the modifier="nowrap"
property. To set the minimum width of the sticky column, use the stickyMinWidth
property. For multiple sticky columns, use the stickyLeftOffset
and stickyRightOffset
properties for additional left or right sticky columns.
Header 3 | Header 4 | Header 5 | Header 6 | Header 7 | Header 8 | Header 9 | ||
---|---|---|---|---|---|---|---|---|
Fact 1 | State 1 | Test cell 1-3 | Test cell 1-4 | Test cell 1-5 | Test cell 1-6 | Test cell 1-7 | Test cell 1-8 | Test cell 1-9 |
Fact 2 | State 2 | Test cell 2-3 | Test cell 2-4 | Test cell 2-5 | Test cell 2-6 | Test cell 2-7 | Test cell 2-8 | Test cell 2-9 |
Fact 3 | State 3 | Test cell 3-3 | Test cell 3-4 | Test cell 3-5 | Test cell 3-6 | Test cell 3-7 | Test cell 3-8 | Test cell 3-9 |
Fact 4 | State 4 | Test cell 4-3 | Test cell 4-4 | Test cell 4-5 | Test cell 4-6 | Test cell 4-7 | Test cell 4-8 | Test cell 4-9 |
Fact 5 | State 5 | Test cell 5-3 | Test cell 5-4 | Test cell 5-5 | Test cell 5-6 | Test cell 5-7 | Test cell 5-8 | Test cell 5-9 |
Fact 6 | State 6 | Test cell 6-3 | Test cell 6-4 | Test cell 6-5 | Test cell 6-6 | Test cell 6-7 | Test cell 6-8 | Test cell 6-9 |
Fact 7 | State 7 | Test cell 7-3 | Test cell 7-4 | Test cell 7-5 | Test cell 7-6 | Test cell 7-7 | Test cell 7-8 | Test cell 7-9 |
Fact 8 | State 8 | Test cell 8-3 | Test cell 8-4 | Test cell 8-5 | Test cell 8-6 | Test cell 8-7 | Test cell 8-8 | Test cell 8-9 |
Fact 9 | State 9 | Test cell 9-3 | Test cell 9-4 | Test cell 9-5 | Test cell 9-6 | Test cell 9-7 | Test cell 9-8 | Test cell 9-9 |
Multiple left-aligned sticky columns
To make multiple left-aligned columns sticky:
- wrap
Table
withInnerScrollContainer
- add
isStickyColumn
to all columns that should be sticky - add
hasRightBorder
to the rightmost sticky column - add
stickyLeftOffset
to each sticky column with a value that equals the combined width - set bystickyMindWidth
- of the previous sticky columns. The leftmost sticky column should have a value of0
, which is the default of this property.
To prevent the default text wrapping behavior and allow horizontal scrolling, all Th
or Td
cells should also have the modifier="nowrap"
property.
Header 3 | Header 4 | Header 5 | Header 6 | Header 7 | Header 8 | Header 9 | ||
---|---|---|---|---|---|---|---|---|
Fact 1 | State 1 | Test cell 1-3 | Test cell 1-4 | Test cell 1-5 | Test cell 1-6 | Test cell 1-7 | Test cell 1-8 | Test cell 1-9 |
Fact 2 | State 2 | Test cell 2-3 | Test cell 2-4 | Test cell 2-5 | Test cell 2-6 | Test cell 2-7 | Test cell 2-8 | Test cell 2-9 |
Fact 3 | State 3 | Test cell 3-3 | Test cell 3-4 | Test cell 3-5 | Test cell 3-6 | Test cell 3-7 | Test cell 3-8 | Test cell 3-9 |
Fact 4 | State 4 | Test cell 4-3 | Test cell 4-4 | Test cell 4-5 | Test cell 4-6 | Test cell 4-7 | Test cell 4-8 | Test cell 4-9 |
Fact 5 | State 5 | Test cell 5-3 | Test cell 5-4 | Test cell 5-5 | Test cell 5-6 | Test cell 5-7 | Test cell 5-8 | Test cell 5-9 |
Fact 6 | State 6 | Test cell 6-3 | Test cell 6-4 | Test cell 6-5 | Test cell 6-6 | Test cell 6-7 | Test cell 6-8 | Test cell 6-9 |
Fact 7 | State 7 | Test cell 7-3 | Test cell 7-4 | Test cell 7-5 | Test cell 7-6 | Test cell 7-7 | Test cell 7-8 | Test cell 7-9 |
Fact 8 | State 8 | Test cell 8-3 | Test cell 8-4 | Test cell 8-5 | Test cell 8-6 | Test cell 8-7 | Test cell 8-8 | Test cell 8-9 |
Fact 9 | State 9 | Test cell 9-3 | Test cell 9-4 | Test cell 9-5 | Test cell 9-6 | Test cell 9-7 | Test cell 9-8 | Test cell 9-9 |
Multiple right-aligned sticky columns
To make multiple right-aligned columns sticky:
- wrap
Table
withInnerScrollContainer
- add
isStickyColumn
to all columns that should be sticky - add
hasLeftBorder
to the leftmost sticky column - add
stickyRightOffset
to each sticky column with a value that equals the combined width - set bystickyMindWidth
- of the next sticky columns. The rightmost sticky column should have a value of0
, which is the default of this property.
To prevent the default text wrapping behavior and allow horizontal scrolling, all Th
or Td
cells should also have the modifier="nowrap"
property.
Header 3 | Header 4 | Header 5 | Header 6 | Header 7 | Header 8 | Header 9 | ||
---|---|---|---|---|---|---|---|---|
Fact 1 | State 1 | Test cell 1-3 | Test cell 1-4 | Test cell 1-5 | Test cell 1-6 | Test cell 1-7 | Test cell 1-8 | Test cell 1-9 |
Fact 2 | State 2 | Test cell 2-3 | Test cell 2-4 | Test cell 2-5 | Test cell 2-6 | Test cell 2-7 | Test cell 2-8 | Test cell 2-9 |
Fact 3 | State 3 | Test cell 3-3 | Test cell 3-4 | Test cell 3-5 | Test cell 3-6 | Test cell 3-7 | Test cell 3-8 | Test cell 3-9 |
Fact 4 | State 4 | Test cell 4-3 | Test cell 4-4 | Test cell 4-5 | Test cell 4-6 | Test cell 4-7 | Test cell 4-8 | Test cell 4-9 |
Fact 5 | State 5 | Test cell 5-3 | Test cell 5-4 | Test cell 5-5 | Test cell 5-6 | Test cell 5-7 | Test cell 5-8 | Test cell 5-9 |
Fact 6 | State 6 | Test cell 6-3 | Test cell 6-4 | Test cell 6-5 | Test cell 6-6 | Test cell 6-7 | Test cell 6-8 | Test cell 6-9 |
Fact 7 | State 7 | Test cell 7-3 | Test cell 7-4 | Test cell 7-5 | Test cell 7-6 | Test cell 7-7 | Test cell 7-8 | Test cell 7-9 |
Fact 8 | State 8 | Test cell 8-3 | Test cell 8-4 | Test cell 8-5 | Test cell 8-6 | Test cell 8-7 | Test cell 8-8 | Test cell 8-9 |
Fact 9 | State 9 | Test cell 9-3 | Test cell 9-4 | Test cell 9-5 | Test cell 9-6 | Test cell 9-7 | Test cell 9-8 | Test cell 9-9 |
Sticky columns and header
To maintain proper sticky behavior across sticky columns and header, Table
must be wrapped with OuterScrollContainer
and InnerScrollContainer
.
Header 3 | Header 4 | Header 5 | Header 6 | Header 7 | Header 8 | Header 9 | ||
---|---|---|---|---|---|---|---|---|
Fact 1 | State 1 | Test cell 1-3 | Test cell 1-4 | Test cell 1-5 | Test cell 1-6 | Test cell 1-7 | Test cell 1-8 | Test cell 1-9 |
Fact 2 | State 2 | Test cell 2-3 | Test cell 2-4 | Test cell 2-5 | Test cell 2-6 | Test cell 2-7 | Test cell 2-8 | Test cell 2-9 |
Fact 3 | State 3 | Test cell 3-3 | Test cell 3-4 | Test cell 3-5 | Test cell 3-6 | Test cell 3-7 | Test cell 3-8 | Test cell 3-9 |
Fact 4 | State 4 | Test cell 4-3 | Test cell 4-4 | Test cell 4-5 | Test cell 4-6 | Test cell 4-7 | Test cell 4-8 | Test cell 4-9 |
Fact 5 | State 5 | Test cell 5-3 | Test cell 5-4 | Test cell 5-5 | Test cell 5-6 | Test cell 5-7 | Test cell 5-8 | Test cell 5-9 |
Fact 6 | State 6 | Test cell 6-3 | Test cell 6-4 | Test cell 6-5 | Test cell 6-6 | Test cell 6-7 | Test cell 6-8 | Test cell 6-9 |
Fact 7 | State 7 | Test cell 7-3 | Test cell 7-4 | Test cell 7-5 | Test cell 7-6 | Test cell 7-7 | Test cell 7-8 | Test cell 7-9 |
Fact 8 | State 8 | Test cell 8-3 | Test cell 8-4 | Test cell 8-5 | Test cell 8-6 | Test cell 8-7 | Test cell 8-8 | Test cell 8-9 |
Fact 9 | State 9 | Test cell 9-3 | Test cell 9-4 | Test cell 9-5 | Test cell 9-6 | Test cell 9-7 | Test cell 9-8 | Test cell 9-9 |
Nested column headers
To make a nested column header:
- Wrap
Table
withInnerScrollContainer
. - Pass
nestedHeaderColumnSpans
toTable
.nestedHeaderColumnSpans
is an array of numbers representing the column spans of the top level columns toTable
, where each number is equal to the number of sub columns for a column, or1
if a column contains no sub columns. - Pass
hasNestedHeader
toThead
. - Pass two
Tr
as children ofThead
.
The first Tr
represents the top level of columns, and each must pass either rowSpan
if the column does not contain sub columns or colSpan
if the column contains sub columns. The value of rowSpan
is equal to the number of rows the nested header will span, typically 2
, and the value of colSpan
is equal to the number of sub columns in a column. Each Th
except the last should also pass hasRightBorder
.
The second Tr
represents the second level of sub columns. The Th
in this row each should pass isSubHeader
, and the last sub column of a column should also pass hasRightBorder
.
Pods | Ports | |||||||
---|---|---|---|---|---|---|---|---|
api-pod-source-name | api-pod-destination-name | 443 (HTTPS) | 24 (SMTP) | TCP | 1.9 Kbps | 2.1 KB | 3 | |
api-pod-source2-name | api-pod-destination2-name | 80 (HTTP) | 24 (SMTP) | UDP | 3.4 Kbps | 6.1 KB | 7 |
Nested column headers and expandable rows
Expandable with nested table
Nested sticky header
Pods | Ports | |||||||
---|---|---|---|---|---|---|---|---|
api-pod-source-name | api-pod-destination-name | 443 (HTTPS) | 24 (SMTP) | TCP | 1.9 Kbps | 2.1 KB | 3 | |
api-pod-source2-name | api-pod-destination2-name | 80 (HTTP) | 24 (SMTP) | UDP | 3.4 Kbps | 6.1 KB | 7 |
Striped
To apply striping to a basic table, add the isStriped
property to Table
.
Repositories | Branches | Pull requests | Workspaces | Last commit |
---|---|---|---|---|
Repository 1 | 10 | 25 | 5 | 2 days ago |
Repository 2 | 10 | 25 | 5 | 2 days ago |
Repository 3 | 10 | 25 | 5 | 2 days ago |
Repository 4 | 10 | 25 | 5 | 2 days ago |
Striped expandable
To apply striping to an expandable table, add the isStriped
and isExpandable
properties to Table
.
Row expansion | Repositories | Branches | Pull requests | Workspaces | Last commit | |
---|---|---|---|---|---|---|
one | two | a | four | five | ||
parent 1 | two | k | four | five | ||
parent 2 | two | b | four | five | ||
parent 3 | 2 | b | four | five | ||
parent 4 | 2 | b | four | five | ||
parent 5 | 2 | b | four | five | ||
parent 6 | 2 | b | four | five | ||
Striped multiple tobdy
When there are multiple Tbody
components within a table, a more granular application of striping may be controlled by adding either the isEvenStriped
or isOddStriped
properties to Tbody
. These properties will stripe even or odd rows within that Tbody
respectively.
Repositories | Branches | Pull requests | Workspaces | Last commit |
---|---|---|---|---|
tbody 1 - Repository 1 (odd rows striped) | 10 | 25 | 5 | 2 days ago |
tbody 1 - Repository 2 | 10 | 25 | 5 | 2 days ago |
tbody 1 - Repository 3 (odd rows striped) | 10 | 25 | 5 | 2 days ago |
tbody 2 - Repository 4 | 10 | 25 | 5 | 2 days ago |
tbody 2 - Repository 5 (even rows striped) | 10 | 25 | 5 | 2 days ago |
tbody 2 - Repository 6 | 10 | 25 | 5 | 2 days ago |
tbody 2 - Repository 7 (even rows striped) | 10 | 25 | 5 | 2 days ago |
Striped tr
To manually control striping, add the isStriped
property to each desired Tr
. This replaces adding the isStriped
property to Table
.
Repositories | Branches | Pull requests | Workspaces | Last commit |
---|---|---|---|---|
Repository 1 | 10 | 25 | 5 | 2 days ago |
Repository 2 | 10 | 25 | 5 | 2 days ago |
Repository 3 | 10 | 25 | 5 | 2 days ago |
Repository 4 | 10 | 25 | 5 | 2 days ago |
Props
Table
Name | Type | Default | Description |
---|---|---|---|
aria-label | string | Adds an accessible name for the Table | |
borders | boolean | Render borders | |
children | React.ReactNode | Content rendered inside the Table | |
className | string | Additional classes added to the Table | |
gridBreakPoint | '' | 'grid' | 'grid-md' | 'grid-lg' | 'grid-xl' | 'grid-2xl' | Specifies the grid breakpoints | |
hasNoInset | boolean | Flag indicating this table's rows will not have the inset typically reserved for expanding/collapsing rows in a tree table. Intended for use on tree tables with no visible rows with children. | |
isExpandable | boolean | Flag indicating this table contains expandable rows to maintain proper striping | |
isNested | boolean | Flag indicating this table is nested within another table | |
isStickyHeader | boolean | If set to true, the table header sticks to the top of its container | |
isStriped | boolean | Flag indicating this table should be striped. This property works best for a single <tbody> table. Striping may also be done manually by applying this property to Tbody and Tr components. | |
isTreeTable | boolean | Flag indicating table is a tree table | |
nestedHeaderColumnSpans | number[] | Collection of column spans for nested headers. Deprecated: see https://github.com/patternfly/patternfly/issues/4584 | |
ouiaId | number | string | Value to overwrite the randomly generated data-ouia-component-id. | |
ouiaSafe | boolean | Set the value of data-ouia-safe. Only set to true when the component is in a static state, i.e. no animations are occurring. At all other times, this value must be false. | |
role | string | A valid WAI-ARIA role to be applied to the table element | |
selectableRowCaptionText | string | Visible text to add alongside the hidden a11y caption for tables with selectable rows. | |
variant | TableVariant | 'compact' | Style variant for the Table compact: Reduces spacing and makes the table more compact |
Thead
Name | Type | Default | Description |
---|---|---|---|
children | React.ReactNode | Content rendered inside the <thead> row group | |
className | string | Additional classes added to the <thead> element | |
hasNestedHeader | boolean | Indicates the <thead> contains a nested header | |
noWrap | boolean | Won't wrap the table head if true |
Tbody
Name | Type | Default | Description |
---|---|---|---|
children | React.ReactNode | Content rendered inside the <tbody> row group | |
className | string | Additional classes added to the <tbody> element | |
isEvenStriped | boolean | Flag indicating the <tbody> contains evenly striped rows. | |
isExpanded | boolean | Modifies the body to allow for expandable rows | |
isOddStriped | boolean | Flag indicating the <tbody> contains oddly striped rows. |
Tr
Name | Type | Default | Description |
---|---|---|---|
children | React.ReactNode | Content rendered inside the <tr> row | |
className | string | Additional classes added to the <tr> row | |
isBorderRow | boolean | Flag indicating the row will act as a border. This is typically used for a table with a nested and sticky header. | |
isClickable | boolean | Flag which adds hover styles for the clickable table row | |
isControlRow | boolean | Flag indicating the row is controlling the expansion of another row. | |
isEditable | boolean | Only applicable to Tr within the Tbody: Whether the row is editable | |
isExpanded | boolean | Only applicable to Tr within the Tbody: Makes the row expandable and determines if it's expanded or not. To prevent column widths from responding automatically when expandable rows are toggled, the width prop must also be passed into either the th or td component | |
isHidden | boolean | Flag indicating the Tr is hidden | |
isRowSelected | boolean | Flag indicating the row is selected - adds selected styling | |
isSelectable | boolean | Flag indicating that the row is selectable | |
isStriped | boolean | Flag indicating the row is striped | |
onRowClick | (event?: React.KeyboardEvent | React.MouseEvent) => void | An event handler for the row | |
ouiaId | number | string | Value to overwrite the randomly generated data-ouia-component-id. | |
ouiaSafe | boolean | Set the value of data-ouia-safe. Only set to true when the component is in a static state, i.e. no animations are occurring. At all other times, this value must be false. | |
resetOffset | boolean | Flag indicating the spacing offset of the first cell should be reset |
Th
Name | Type | Default | Description |
---|---|---|---|
aria-label | string | Provides an accessible name to the th. This should only be passed in when the th contains only non-text content, such as a "select all" checkbox or "expand all" toggle. | |
dataLabel | string | The column header the cell corresponds to. Applicable when this component is used as a direct child to <Tr>. This attribute replaces table header in mobile viewport. It is rendered by ::before pseudo element. | |
expand | ThExpandType | Renders a chevron so that all row chevrons can be expanded/collapsed | |
hasLeftBorder | boolean | Adds a border to the left side of the cell | |
hasRightBorder | boolean | Adds a border to the right side of the cell | |
info | ThInfoType | Adds tooltip/popover info button | |
isStickyColumn | boolean | Indicates the header column should be sticky | |
isSubheader | boolean | Indicates the <th> is part of a subheader of a nested header | |
onMouseEnter | (event: any) => void | Callback on mouse enter | |
scope | string | Adds scope to the column to associate header cells with data cells | |
screenReaderText | string | Visually hidden text accessible only via assistive technologies. This must be passed in if the th is intended to be visually empty, and must be conveyed as a column header text. | |
select | ThSelectType | Renders a checkbox select so that all row checkboxes can be selected/deselected | |
sort | ThSortType | Formats the header so that its column will be sortable | |
stickyLeftOffset | string | Left offset of a sticky column. This will typically be equal to the combined value set by stickyMinWidth of any sticky columns that precede the current sticky column. | |
stickyMinWidth | string | Minimum width for a sticky column | |
stickyRightOffset | string | Right offset of a sticky column. This will typically be equal to the combined value set by stickyMinWidth of any sticky columns that come after the current sticky column. | |
tooltip | React.ReactNode | Tooltip to show on the header cell. Note: If the header cell is truncated and has simple string content, it will already attempt to display the header text. If you want to show a tooltip that differs from the header text, you can set it here. To disable it completely you can set it to null. | |
tooltipProps | Omit<TooltipProps, 'content'> | other props to pass to the tooltip |
Td
Name | Type | Default | Description |
---|---|---|---|
actions | TdActionsType | Turns the cell into an actions cell. Recommended to use an ActionsColumn component as a child of the Td rather than this prop. | |
compoundExpand | TdCompoundExpandType | Turns the cell into a compound expansion toggle | |
dataLabel | string | The column header the cell corresponds to. This attribute replaces table header in mobile viewport. It is rendered by ::before pseudo element. | |
draggableRow | TdDraggableType | Turns the cell into the first cell in a draggable row | |
expand | TdExpandType | Turns the cell into an expansion toggle and determines if the corresponding expansion row is open | |
favorites | TdFavoritesType | Turns the cell into a favorites cell with a star button | |
hasLeftBorder | boolean | Adds a border to the left side of the cell | |
hasRightBorder | boolean | Adds a border to the right side of the cell | |
isActionCell | boolean | Applies pf-v6-c-table__action to td | |
isStickyColumn | boolean | Indicates the column should be sticky | |
noPadding | boolean | True to remove padding | |
onMouseEnter | (event: any) => void | Callback on mouse enter | |
select | TdSelectType | Renders a checkbox or radio select | |
stickyLeftOffset | string | Left offset of a sticky column. This will typically be equal to the combined value set by stickyMinWidth of any sticky columns that precede the current sticky column. | |
stickyMinWidth | string | Minimum width for a sticky column | |
stickyRightOffset | string | Right offset of a sticky column. This will typically be equal to the combined value set by stickyMinWidth of any sticky columns that come after the current sticky column. | |
tooltip | React.ReactNode | Tooltip to show on the body cell. Note: If the body cell is truncated and has simple string content, it will already attempt to display the cell text. If you want to show a tooltip that differs from the cell text, you can set it here. To disable it completely you can set it to null. | |
treeRow | TdTreeRowType | Turns the cell into the first cell in a tree table row |
Caption
Name | Type | Default | Description |
---|---|---|---|
children | React.ReactNode | Content rendered inside the caption | |
className | string | Additional classes added to the caption |
TableText
Name | Type | Default | Description |
---|---|---|---|
children | React.ReactNode | null | Content rendered within the table text |
className | string | '' | Additional classes added to the table text |
focused | boolean | false | Determines if the TableText is focused by parent component |
onMouseEnter | (event: any) => void | () => {} | callback used to create the tooltip if text is truncated |
tooltip | React.ReactNode | '' | text to display on the tooltip |
tooltipHasDefaultBehavior | boolean | false | Determines if tooltip should have normal visbility behavior. If false, the tooltip will only be shown when children is not entirely visible |
tooltipProps | Omit<TooltipProps, 'content'> | {} | other props to pass to the tooltip |
variant | TableTextVariant | 'span' | 'div' | 'span' | Determines which element to render as a table text |
wrapModifier | WrapModifier | 'wrap' | 'nowrap' | 'truncate' | 'breakWord' | 'fitContent' | null | Determines which wrapping modifier to apply to the table text |
TdActionsType
Name | Type | Default | Description |
---|---|---|---|
itemsrequired | IActions | Cell actions | |
actionsToggle | (props: CustomActionsToggleProps) => React.ReactNode | Custom toggle for the actions menu | |
dropdownDirection | 'up' | 'down' | Actions dropdown direction | |
dropdownPosition | 'right' | 'left' | Actions dropdown position | |
isDisabled | boolean | Whether the actions are disabled | |
menuAppendTo | HTMLElement | (() => HTMLElement) | 'inline' | 'parent' | The container to append the dropdown menu to. Defaults to 'inline'. If your menu is being cut off you can append it to an element higher up the DOM tree. Some examples: menuAppendTo="parent" menuAppendTo={() => document.body} menuAppendTo={document.getElementById('target')} | |
rowIndex | number | The row index |
TdSelectType
Name | Type | Default | Description |
---|---|---|---|
isSelectedrequired | boolean | Whether the cell is selected | |
rowIndexrequired | number | The row index | |
isDisabled | boolean | Whether the selection is disabled | |
onSelect | OnSelect | Callback on select | |
props | any | Additional props forwarded to select rowData | |
variant | 'checkbox' | 'radio' | The selectable variant |
ThSelectType
Name | Type | Default | Description |
---|---|---|---|
isSelectedrequired | boolean | Whether the cell is selected | |
isDisabled | boolean | Whether to disable the selection | |
isHeaderSelectDisabled | boolean | Flag indicating the select checkbox in the th is disabled | |
onSelect | OnSelect | Callback on select | |
props | any | Additional props forwarded to select rowData |
TdTreeRowType
Name | Type | Default | Description |
---|---|---|---|
onCollapserequired | OnTreeRowCollapse | Callback when user expands/collapses a row to reveal/hide the row's children | |
onCheckChange | OnCheckChange | (optional) Callback when user changes the checkbox on a row | |
onToggleRowDetails | OnToggleRowDetails | (optional) Callback when user shows/hides the row details in responsive view. | |
props | any | Additional props forwarded to the title cell of the tree row | |
rowIndex | number | The row index |
ActionsColumn
Name | Type | Default | Description |
---|---|---|---|
itemsrequired | IAction[] | Actions to be rendered within or without the action dropdown | |
actionsToggle | (props: CustomActionsToggleProps) => React.ReactNode | Custom actions toggle for the actions dropdown | |
extraData | IExtraData | Extra data of a row | |
firstActionItemRef | React.Ref<HTMLButtonElement> | Ref to forward to the first item in the popup menu | |
isDisabled | boolean | Indicates whether the actions dropdown is disabled | |
isOnOpenChangeDisabled | boolean | Flag indicating that the dropdown's onOpenChange callback should not be called. | |
popperProps | any | Additional properties for the actions dropdown popper | |
rowData | IRowData | Data of the row the action dropdown is located |
TdCompoundExpandType
Name | Type | Default | Description |
---|---|---|---|
isExpandedrequired | boolean | determines if the corresponding expansion row is open | |
columnIndex | number | The column index | |
expandId | string | Id prefix for expandable cells * | |
onToggle | OnExpand | Callback on toggling of the expansion | |
rowIndex | number | The row index |
TdFavoritesType
Name | Type | Default | Description |
---|---|---|---|
isFavoritedrequired | boolean | Whether the corresponding row is favorited | |
onFavorite | OnFavorite | Callback on clicking the favorites button | |
props | any | Additional props forwarded to the FavoritesCell | |
rowIndex | number | The row index |
TdDraggableType
Name | Type | Default | Description |
---|---|---|---|
idrequired | string | Id of the draggable row |
ThInfoType
Name | Type | Default | Description |
---|---|---|---|
ariaLabel | string | ||
className | string | ||
popover | React.ReactNode | ||
popoverProps | Omit<PopoverProps, 'bodyContent'> | ||
tooltip | React.ReactNode | ||
tooltipProps | Omit<TooltipProps, 'content'> |
TdExpandType
Name | Type | Default | Description |
---|---|---|---|
isExpandedrequired | boolean | Flag indicating the child row associated with this cell is expanded | |
rowIndexrequired | number | The row index | |
columnIndex | number | The column index | |
expandId | string | Id prefix for expandable rows * | |
onToggle | OnCollapse | On toggling the expansion |
ThExpandType
Name | Type | Default | Description |
---|---|---|---|
areAllExpandedrequired | boolean | Whether all are expanded | |
collapseAllAriaLabelrequired | string | Alternative aria label | |
onToggle | OnCollapse | On toggling the expansion |
EditableSelectInputCell
Name | Type | Default | Description |
---|---|---|---|
cellIndexrequired | number | Cell index of this select input cell | |
propsrequired | EditableSelectInputProps | Props to build the select component | |
rowIndexrequired | number | Row index of this select input cell | |
clearSelection | (event: React.MouseEvent, rowIndex: number, cellIndex: number) => void | Event handler which fires when the user clears the selections | |
isDisabled | boolean | Flag indicating the select input is disabled | |
isOpen | boolean | false | Flag indicating the select menu is open |
isPlaceholder | boolean | false | Flag indicating the toggle gets placeholder styles * |
onSelect | ( event: React.MouseEvent | React.ChangeEvent, newValue: any | any[], rowIndex: number, cellIndex: number, isPlaceholder?: boolean ) => void | () => {} | Event handler which fires when user selects an option in this cell |
onToggle | (event: React.MouseEvent | undefined) => void | () => {} | Event handler which fires when the select toggle is toggled |
options | React.ReactElement[] | [] | Options to display in the expandable select menu |
selections | any | any[] | [''] | Current selected options to display as the read only value of the table cell |
EditableTextCell
Name | Type | Default | Description |
---|---|---|---|
cellIndexrequired | number | Cell index of this text cell | |
handleTextInputChangerequired | ( newValue: string, event: React.FormEvent<HTMLInputElement>, rowIndex: number, cellIndex: number ) => void | Event handler which fires when user changes the text in this cell | |
inputAriaLabelrequired | string | accessible label of the text input | |
propsrequired | EditableTextCellProps | Props to build the input | |
rowIndexrequired | number | Row index of this text cell | |
valuerequired | string | The current value of the text input | |
isDisabled | boolean | false | flag indicating if the text input is disabled |
EditableSelectInputProps
Name | Type | Default | Description |
---|---|---|---|
[key: string]required | any | arbitrary data to pass to the internal select component in the editable select input cell | |
isSelectOpenrequired | boolean | Flag controlling isOpen state of select | |
namerequired | string | Name of the select input | |
optionsrequired | React.ReactElement[] | Array of react elements to display in the select menu | |
selectedrequired | any | any[] | 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 | |
valuerequired | string | string[] | Value to display in the cell | |
editableSelectProps | SelectProps | Props to be passed down to the select component |
EditableTextCellProps
Name | Type | Default | Description |
---|---|---|---|
[key: string]required | any | arbitrary data to pass to the internal text input in the editable text cell | |
namerequired | string | Name of the input | |
valuerequired | string | Value to display in the cell |
ThSortType
Name | Type | Default | Description |
---|---|---|---|
columnIndexrequired | number | The column index | |
sortByrequired | ISortBy | Provide the currently active column's index and direction | |
favoriteButtonProps | FavoriteButtonProps | Props for the favorite button (only for favoritable cell). | |
isFavorites | boolean | True to make this a favoritable sorting cell | |
onSort | OnSort | Wraps the content in a button and adds a sort icon - Click callback on the sortable cell | |
Unknown | string | Adds accessible text to the sort button. |
ISortBy
Name | Type | Default | Description |
---|---|---|---|
defaultDirection | 'asc' | 'desc' | Defaulting sorting direction. Defaults to "asc". | |
direction | 'asc' | 'desc' | Current sort direction | |
index | number | Index of the current sorted column |
InnerScrollContainer
Name | Type | Default | Description |
---|---|---|---|
children | React.ReactNode | Content rendered inside the inner scroll container | |
className | string | Additional classes added to the container |
OuterScrollContainer
Name | Type | Default | Description |
---|---|---|---|
children | React.ReactNode | Content rendered inside the outer scroll container | |
className | string | Additional classes added to the container |
CSS variables
Expand or collapse column | Selector | Variable | Value | |
---|---|---|---|---|
.pf-v6-c-table | --pf-v6-c-table--BackgroundColor | (In light theme) #ffffff | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table--BorderColor | (In light theme) #c7c7c7 | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table--border-width--base | 1px | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__caption--FontSize | 0.875rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__caption--Color | (In light theme) #4d4d4d | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__caption--PaddingBlockStart | 1rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__caption--PaddingInlineEnd | 1.5rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__caption--PaddingBlockEnd | 1rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__caption--PaddingInlineStart | 1.5rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__thead--cell--FontSize | 0.75rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__thead--cell--FontWeight | 500 | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__thead__toggle--PaddingBlockEnd | 0.25rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__tbody--cell--PaddingBlockStart | 1rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__tbody--cell--PaddingBlockEnd | 1rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__tbody--cell--FontSize | 0.875rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__tr--BorderBlockEndWidth | 1px | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__tr--BorderBlockEndColor | (In light theme) #c7c7c7 | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table--cell--Padding--base | 1rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table--cell--PaddingBlockStart | 1rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table--cell--PaddingInlineEnd | 1rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table--cell--PaddingBlockEnd | 1rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table--cell--PaddingInlineStart | 1rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table--cell--FontSize | 0.875rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table--cell--FontWeight | 400 | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table--cell--LineHeight | 1.5 | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table--cell--Color | (In light theme) #151515 | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table--cell--first-last-child--PaddingInline | 1.5rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__tr--m-first-cell-offset-reset--cell--PaddingInlineStart | 1rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table--cell--MinWidth | 0 | ||
.pf-v6-c-table | --pf-v6-c-table--cell--MaxWidth | none | ||
.pf-v6-c-table | --pf-v6-c-table--cell--Width | auto | ||
.pf-v6-c-table | --pf-v6-c-table--cell--Overflow | visible | ||
.pf-v6-c-table | --pf-v6-c-table--cell--TextOverflow | clip | ||
.pf-v6-c-table | --pf-v6-c-table--cell--WhiteSpace | normal | ||
.pf-v6-c-table | --pf-v6-c-table--cell--WordBreak | normal | ||
.pf-v6-c-table | --pf-v6-c-table--cell--m-border-right--before--BorderInlineEndWidth | 1px | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table--cell--m-border-right--before--BorderInlineEndColor | (In light theme) #c7c7c7 | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table--cell--m-border-left--before--BorderInlineStartWidth | 1px | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table--cell--m-border-left--before--BorderInlineStartColor | (In light theme) #c7c7c7 | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table--cell--m-help--MinWidth | 11ch | ||
.pf-v6-c-table | --pf-v6-c-table--m-truncate--cell--MaxWidth | 1px | ||
.pf-v6-c-table | --pf-v6-c-table--m-truncate--cell--MinWidth | calc(5ch + 0 + 0) | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table--m-truncate__text--MinWidth | 5ch | ||
.pf-v6-c-table | --pf-v6-c-table--cell--hidden-visible--Display | table-cell | ||
.pf-v6-c-table | --pf-v6-c-table__toggle--PaddingBlockStart | 0.5rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__toggle--PaddingBlockEnd | 0.5rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__toggle--PaddingInlineStart | 0.5rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__toggle--PaddingInlineEnd | 0.5rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__toggle--c-button__toggle-icon--Rotate | 270deg | ||
.pf-v6-c-table | --pf-v6-c-table__toggle--c-button__toggle-icon--TransitionDuration | 200ms | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__toggle--c-button__toggle-icon--TransitionTimingFunction | cubic-bezier(.4, 0, .2, 1) | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__toggle--c-button--m-expanded__toggle-icon--Rotate | 360deg | ||
.pf-v6-c-table | --pf-v6-c-table__button--PaddingBlockStart | 0.5rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__button--PaddingBlockEnd | 0.5rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__button--PaddingInlineStart | 1rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__button--PaddingInlineEnd | 1rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__button--Color | (In light theme) #151515 | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__button--BackgroundColor | (In light theme) rgba(255, 255, 255, 0.0000) | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__button--OutlineOffset | calc(2px * -1) | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__button--BorderRadius | 6px | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__button--hover--Color | (In light theme) #151515 | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__button--hover--BackgroundColor | (In light theme) rgba(199, 199, 199, 0.2500) | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__check--PaddingInlineStart | 0.5rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__check--PaddingInlineEnd | 0.5rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__favorite--c-button--FontSize | 0.875rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table--cell--m-favorite--Color | (In light theme) #4d4d4d | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__favorite--m-favorited--c-button--Color | (In light theme) #dca614 | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__tr--m-ghost-row--Opacity | .4 | ||
.pf-v6-c-table | --pf-v6-c-table__tr--m-ghost-row--BackgroundColor | (In light theme) #ffffff | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__action--PaddingBlockStart | 0.5rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__action--PaddingBlockEnd | 0.5rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__action--PaddingInlineStart | 0.5rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__action--PaddingInlineEnd | 0.5rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__expandable-row-content--PaddingBlockStart | 1rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__expandable-row-content--PaddingBlockEnd | 1rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__expandable-row-content--PaddingInlineStart | 1rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__expandable-row-content--PaddingInlineEnd | 1rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__expandable-row-content--BorderRadius | 6px | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__expandable-row-content--BackgroundColor | (In light theme) #ffffff | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__control-row--BackgroundColor | (In light theme) #ffffff | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__control-row--BorderBlockEndWidth | 1px | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__control-row__tbody--BorderBlockEndColor | (In light theme) #c7c7c7 | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__icon-inline--MarginInlineEnd | 0.5rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__sort--MinWidth | calc(6ch + 0 + 0 + 1rem) | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__sort--m-selected__button--Color | (In light theme) #004d99 | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__sort--m-help--MinWidth | 15ch | ||
.pf-v6-c-table | --pf-v6-c-table__sort__button__text--Color | currentcolor | ||
.pf-v6-c-table | --pf-v6-c-table__sort__button--hover__text--Color | currentcolor | ||
.pf-v6-c-table | --pf-v6-c-table__sort-indicator--Color | (In light theme) #707070 | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__sort-indicator--MarginInlineStart | 1rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__sort--m-selected__sort-indicator--Color | (In light theme) #004d99 | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__sort__button--hover__sort-indicator--Color | (In light theme) #151515 | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__th--m-help--MinWidth | 11ch | ||
.pf-v6-c-table | --pf-v6-c-table__column-help--MarginInlineStart | 0.5rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__compound-expansion-toggle__button--Color | (In light theme) #0066cc | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__compound-expansion-toggle__button--BackgroundColor | (In light theme) rgba(255, 255, 255, 0.0000) | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__compound-expansion-toggle__button--hover--Color | (In light theme) #004d99 | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__compound-expansion-toggle__button--hover--BackgroundColor | (In light theme) rgba(199, 199, 199, 0.2500) | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__compound-expansion-toggle__button--expanded--BackgroundColor | (In light theme) rgba(199, 199, 199, 0.2500) | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__compound-expansion-toggle__button--after--BorderColor | (In light theme) #0066cc | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__compound-expansion-toggle__button--after--BorderBlockStartWidth | 0 | ||
.pf-v6-c-table | --pf-v6-c-table__compound-expansion-toggle__button--hover--after--BorderBlockStartWidth | 2px | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__compound-expansion-toggle--m-expanded__button--after--BorderBlockStartWidth | 2px | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table--compound-expansion--m-expanded--BackgroundColor | (In light theme) #f2f2f2 | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table--m-compact__th--PaddingBlockStart | calc(0.5rem + 0.25rem) | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table--m-compact__th--PaddingBlockEnd | 0.5rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table--m-compact--cell--PaddingBlockStart | 0.5rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table--m-compact--cell--PaddingBlockEnd | 0.5rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table--m-compact__action--PaddingBlockStart | 0.25rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table--m-compact__action--PaddingBlockEnd | 0.25rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__expandable-row--m-expanded--BorderBlockEndColor | (In light theme) #c7c7c7 | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__tr--m-clickable--BackgroundColor | transparent | ||
.pf-v6-c-table | --pf-v6-c-table__tr--m-clickable--OutlineOffset | calc(-1 * 0.25rem) | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__tr--m-clickable--hover--BackgroundColor | (In light theme) #f2f2f2 | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__tr--m-selected--BackgroundColor | (In light theme) #f2f2f2 | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__tr--m-selected--OutlineOffset | calc(-1 * 0.25rem) | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__tbody--m-clickable--BackgroundColor | transparent | ||
.pf-v6-c-table | --pf-v6-c-table__tbody--m-clickable--OutlineOffset | calc(-1 * 0.25rem) | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__tbody--m-clickable--hover--BackgroundColor | (In light theme) #f2f2f2 | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__tbody--m-clickable--m-expanded--BackgroundColor | (In light theme) #f2f2f2 | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__tbody--m-selected--BackgroundColor | (In light theme) #f2f2f2 | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__tbody--m-selected--OutlineOffset | calc(-1 * 0.25rem) | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__thead--m-nested-column-header--button--OutlineOffset | -0.1875rem | ||
.pf-v6-c-table | --pf-v6-c-table__thead--m-nested-column-header__tr--PaddingBlockStart | 0.25rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__thead--m-nested-column-header__tr--PaddingBlockEnd | 1rem | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__subhead--Color | (In light theme) #4d4d4d | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__nested-column-header__button--PaddingInlineStart | calc(1rem - 0.5rem) | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table__nested-column-header__button--PaddingInlineEnd | calc(1rem - (0.5rem / 2)) | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table--m-striped__tr--BackgroundColor | (In light theme) #f2f2f2 | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table--m-sticky-header--cell--ZIndex | 100 | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table--m-sticky-header--ZIndex | calc(100 + 1) | ||
| ||||
.pf-v6-c-table | --pf-v6-c-table--m-sticky-header--border--ZIndex | calc(100 + 2) | ||
| ||||
.pf-v6-c-table:not(.pf-m-sticky-header) > .pf-m-nested-column-header tr:where(.pf-v6-c-table__tr):not(:last-child) th:where(.pf-v6-c-table__th):not([rowspan]) | --pf-v6-c-table--cell--PaddingBlockEnd | 1rem | ||
| ||||
.pf-v6-c-table.pf-m-striped:not(.pf-m-expandable) > tbody:where(.pf-v6-c-table__tbody) > tr:where(.pf-v6-c-table__tr):nth-child(odd) | --pf-v6-c-table__sticky-column--BackgroundColor | (In light theme) #f2f2f2 | ||
| ||||
.pf-v6-c-table tr:where(.pf-v6-c-table__tr) > :where(th, td) | --pf-v6-hidden-visible--visible--Display | grid | ||
| ||||
.pf-v6-c-table tr:where(.pf-v6-c-table__tr) > :where(th, td) | --pf-v6-hidden-visible--hidden--Display | none | ||
.pf-v6-c-table tr:where(.pf-v6-c-table__tr) > :where(th, td) | --pf-v6-hidden-visible--Display | flex | ||
| ||||
.pf-v6-c-table tr:where(.pf-v6-c-table__tr) > :where(th, td).pf-m-hidden | --pf-v6-hidden-visible--Display | none | ||
| ||||
.pf-v6-c-table tr:where(.pf-v6-c-table__tr) > :where(th, td).pf-m-help | --pf-v6-c-table--cell--MinWidth | 11ch | ||
| ||||
.pf-v6-c-table tr:where(.pf-v6-c-table__tr) > :where(th, td).pf-m-favorite | --pf-v6-c-table__button--Color | (In light theme) #4d4d4d | ||
| ||||
.pf-v6-c-table tr:where(.pf-v6-c-table__tr) > :where(th, td).pf-m-favorite | --pf-v6-c-table__sort--MinWidth | fit-content | ||
.pf-v6-c-table tr:where(.pf-v6-c-table__tr) > :where(th, td).pf-m-favorite | --pf-v6-c-table--cell--MaxWidth | fit-content | ||
.pf-v6-c-table tr:where(.pf-v6-c-table__tr) > :where(th, td).pf-m-favorite | --pf-v6-c-table--cell--Overflow | visible | ||
.pf-v6-c-table thead:where(.pf-v6-c-table__thead) | --pf-v6-c-table--cell--FontSize | 0.75rem | ||
| ||||
.pf-v6-c-table thead:where(.pf-v6-c-table__thead) | --pf-v6-c-table--cell--FontWeight | 500 | ||
| ||||
.pf-v6-c-table thead:where(.pf-v6-c-table__thead) | --pf-v6-c-table--cell--MinWidth | calc(5ch + 0 + 0) | ||
| ||||
.pf-v6-c-table thead:where(.pf-v6-c-table__thead) | --pf-v6-c-table--cell--MaxWidth | 1px | ||
| ||||
.pf-v6-c-table thead:where(.pf-v6-c-table__thead) | --pf-v6-c-table--cell--Overflow | hidden | ||
.pf-v6-c-table thead:where(.pf-v6-c-table__thead) | --pf-v6-c-table--cell--TextOverflow | ellipsis | ||
.pf-v6-c-table thead:where(.pf-v6-c-table__thead) | --pf-v6-c-table--cell--WhiteSpace | nowrap | ||
.pf-v6-c-table thead:where(.pf-v6-c-table__thead).pf-m-nested-column-header tr:where(.pf-v6-c-table__tr):not(:first-child) th:where(.pf-v6-c-table__th):not([rowspan]) | --pf-v6-c-table--cell--PaddingBlockStart | 0.25rem | ||
| ||||
.pf-v6-c-table thead:where(.pf-v6-c-table__thead) .pf-v6-c-table__subhead | --pf-v6-c-table__sort__button__text--Color | (In light theme) #4d4d4d | ||
| ||||
.pf-v6-c-table tbody:where(.pf-v6-c-table__tbody) | --pf-v6-c-table--cell--PaddingBlockStart | 1rem | ||
| ||||
.pf-v6-c-table tbody:where(.pf-v6-c-table__tbody) | --pf-v6-c-table--cell--PaddingBlockEnd | 1rem | ||
| ||||
.pf-v6-c-table tbody:where(.pf-v6-c-table__tbody) | --pf-v6-c-table--cell--FontSize | 0.875rem | ||
| ||||
.pf-v6-c-table.pf-m-no-border-rows > tbody:where(.pf-v6-c-table__tbody) | --pf-v6-c-table__tr--BorderBlockEndWidth | 0 | ||
.pf-v6-c-table.pf-m-no-border-rows > tbody:where(.pf-v6-c-table__tbody) | --pf-v6-c-table__tbody--BorderBlockEndWidth | 0 | ||
.pf-v6-c-table.pf-m-no-border-rows > tbody:where(.pf-v6-c-table__tbody) | --pf-v6-c-table--m-expandable__tbody--BorderBlockEndWidth | 0 | ||
.pf-v6-c-table.pf-m-no-border-rows > tbody:where(.pf-v6-c-table__tbody) | --pf-v6-c-table__control-row--BorderBlockEndWidth | 0 | ||
.pf-v6-c-table tr:where(.pf-v6-c-table__tr).pf-m-clickable:is(:hover, :focus) | --pf-v6-c-table__tr--m-clickable--BackgroundColor | (In light theme) #f2f2f2 | ||
| ||||
.pf-v6-c-table tbody:where(.pf-v6-c-table__tbody).pf-m-clickable:is(:hover, :focus) | --pf-v6-c-table__tbody--m-clickable--BackgroundColor | (In light theme) #f2f2f2 | ||
| ||||
.pf-v6-c-table tbody:where(.pf-v6-c-table__tbody).pf-m-clickable.pf-m-expanded | --pf-v6-c-table__tbody--m-clickable--BackgroundColor | (In light theme) #f2f2f2 | ||
| ||||
.pf-v6-c-table .pf-v6-c-button .pf-v6-c-table__sort-indicator | --pf-v6-c-table__sort-indicator--MarginInlineStart | 0 | ||
[class*=pf-v6-c-table].pf-m-truncate | --pf-v6-c-table--cell--MinWidth | calc(5ch + 0 + 0) | ||
| ||||
[class*=pf-v6-c-table].pf-m-truncate | --pf-v6-c-table--cell--MaxWidth | 1px | ||
| ||||
[class*=pf-v6-c-table].pf-m-truncate | --pf-v6-c-table--cell--Overflow | hidden | ||
[class*=pf-v6-c-table].pf-m-truncate | --pf-v6-c-table--cell--TextOverflow | ellipsis | ||
[class*=pf-v6-c-table].pf-m-truncate | --pf-v6-c-table--cell--WhiteSpace | nowrap | ||
[class*=pf-v6-c-table].pf-m-wrap | --pf-v6-c-table--cell--MinWidth | 0 | ||
[class*=pf-v6-c-table].pf-m-wrap | --pf-v6-c-table--cell--MaxWidth | none | ||
[class*=pf-v6-c-table].pf-m-wrap | --pf-v6-c-table--cell--Overflow | visible | ||
[class*=pf-v6-c-table].pf-m-wrap | --pf-v6-c-table--cell--TextOverflow | clip | ||
[class*=pf-v6-c-table].pf-m-wrap | --pf-v6-c-table--cell--WhiteSpace | normal | ||
[class*=pf-v6-c-table].pf-m-nowrap | --pf-v6-c-table--cell--MinWidth | 0 | ||
[class*=pf-v6-c-table].pf-m-nowrap | --pf-v6-c-table--cell--MaxWidth | none | ||
[class*=pf-v6-c-table].pf-m-nowrap | --pf-v6-c-table--cell--Overflow | visible | ||
[class*=pf-v6-c-table].pf-m-nowrap | --pf-v6-c-table--cell--TextOverflow | clip | ||
[class*=pf-v6-c-table].pf-m-nowrap | --pf-v6-c-table--cell--WhiteSpace | nowrap | ||
[class*=pf-v6-c-table] .pf-v6-c-table__icon | --pf-v6-c-table--cell--MinWidth | fit-content | ||
[class*=pf-v6-c-table] .pf-v6-c-table__icon | --pf-v6-c-table--cell--MaxWidth | none | ||
[class*=pf-v6-c-table] .pf-v6-c-table__icon | --pf-v6-c-table--cell--Width | 1% | ||
[class*=pf-v6-c-table] .pf-v6-c-table__icon | --pf-v6-c-table--cell--Overflow | visible | ||
[class*=pf-v6-c-table] .pf-v6-c-table__icon | --pf-v6-c-table--cell--TextOverflow | clip | ||
[class*=pf-v6-c-table] .pf-v6-c-table__icon | --pf-v6-c-table--cell--WhiteSpace | nowrap | ||
[class*=pf-v6-c-table].pf-m-break-word | --pf-v6-c-table--cell--WordBreak | break-word | ||
[class*=pf-v6-c-table].pf-m-break-word | --pf-v6-c-table--cell--WhiteSpace | normal | ||
.pf-v6-c-table__text | --pf-v6-c-table--cell--MaxWidth | 100% | ||
.pf-v6-c-table__text.pf-m-truncate | --pf-v6-c-table--cell--MinWidth | 100% | ||
.pf-v6-c-table__text.pf-m-truncate | --pf-v6-c-table--text--MinWidth | 5ch | ||
| ||||
.pf-v6-c-table .pf-v6-c-table__check | --pf-v6-c-table--cell--MinWidth | 0 | ||
.pf-v6-c-table .pf-v6-c-table__check | --pf-v6-c-table--cell--Width | 1% | ||
.pf-v6-c-table .pf-v6-c-table__favorite | --pf-v6-c-table--cell--MaxWidth | auto | ||
.pf-v6-c-table__toggle | --pf-v6-c-table--cell--PaddingBlockStart | 0.5rem | ||
| ||||
.pf-v6-c-table__toggle | --pf-v6-c-table--cell--PaddingBlockEnd | 0.5rem | ||
| ||||
.pf-v6-c-table__toggle | --pf-v6-c-table--cell--PaddingInlineStart | 0.5rem | ||
| ||||
.pf-v6-c-table__toggle | --pf-v6-c-table--cell--PaddingInlineEnd | 0.5rem | ||
| ||||
.pf-v6-c-table__check | --pf-v6-c-table--cell--PaddingInlineStart | 0.5rem | ||
| ||||
.pf-v6-c-table__check | --pf-v6-c-table--cell--PaddingInlineEnd | 0.5rem | ||
| ||||
.pf-v6-c-table__check .pf-v6-c-check | --pf-v6-c-check__label--FontSize | 0.875rem | ||
| ||||
.pf-v6-c-table__check .pf-v6-c-check | --pf-v6-c-check__label--LineHeight | 1.5 | ||
| ||||
.pf-v6-c-table__check .pf-v6-c-radio | --pf-v6-c-radio__label--FontSize | 0.875rem | ||
| ||||
.pf-v6-c-table__check .pf-v6-c-radio | --pf-v6-c-radio__label--LineHeight | 1.5 | ||
| ||||
.pf-v6-c-table__favorite .pf-v6-c-button | --pf-v6-c-button--FontSize | 0.875rem | ||
| ||||
.pf-v6-c-table__favorite.pf-m-favorited .pf-v6-c-button | --pf-v6-c-button--m-plain__icon--Color | (In light theme) #dca614 | ||
| ||||
.pf-v6-c-table__favorite.pf-m-favorited .pf-v6-c-button:is(:hover, :focus) | --pf-v6-c-button--hover__icon--Color | (In light theme) #dca614 | ||
| ||||
.pf-v6-c-table__action | --pf-v6-c-table--cell--PaddingBlockStart | 0.5rem | ||
| ||||
.pf-v6-c-table__action | --pf-v6-c-table--cell--PaddingBlockEnd | 0.5rem | ||
| ||||
.pf-v6-c-table__action | --pf-v6-c-table--cell--PaddingInlineStart | 0.5rem | ||
| ||||
.pf-v6-c-table__action | --pf-v6-c-table--cell--PaddingInlineEnd | 0.5rem | ||
| ||||
.pf-v6-c-table__compound-expansion-toggle | --pf-v6-c-table__button--Color | (In light theme) #0066cc | ||
| ||||
.pf-v6-c-table__compound-expansion-toggle | --pf-v6-c-table__button--hover--Color | (In light theme) #004d99 | ||
| ||||
.pf-v6-c-table__compound-expansion-toggle:hover | --pf-v6-c-table__compound-expansion-toggle__button--BackgroundColor | (In light theme) rgba(199, 199, 199, 0.2500) | ||
| ||||
.pf-v6-c-table__compound-expansion-toggle:hover | --pf-v6-c-table__compound-expansion-toggle__button--after--BorderBlockStartWidth | 2px | ||
| ||||
.pf-v6-c-table__compound-expansion-toggle.pf-m-expanded | --pf-v6-c-table__compound-expansion-toggle__button--BackgroundColor | (In light theme) rgba(199, 199, 199, 0.2500) | ||
| ||||
.pf-v6-c-table__compound-expansion-toggle.pf-m-expanded | --pf-v6-c-table__compound-expansion-toggle__button--after--BorderBlockStartWidth | 2px | ||
| ||||
.pf-v6-c-table__sort .pf-v6-c-table__button:is(:hover, :focus) | --pf-v6-c-table__sort-indicator--Color | (In light theme) #151515 | ||
| ||||
.pf-v6-c-table__sort .pf-v6-c-table__button:is(:hover, :focus) | --pf-v6-c-table__sort__button__text--Color | currentcolor | ||
| ||||
.pf-v6-c-table__sort .pf-v6-c-table__button:is(:hover, :focus) | --pf-v6-c-table__button--BackgroundColor | (In light theme) rgba(199, 199, 199, 0.2500) | ||
| ||||
.pf-v6-c-table__sort.pf-m-selected .pf-v6-c-table__button | --pf-v6-c-table__sort-indicator--Color | (In light theme) #004d99 | ||
| ||||
.pf-v6-c-table__sort.pf-m-help | --pf-v6-c-table__th--m-help--MinWidth | 15ch | ||
| ||||
.pf-v6-c-table.pf-m-compact | --pf-v6-c-table--cell--PaddingBlockStart | 0.5rem | ||
| ||||
.pf-v6-c-table.pf-m-compact | --pf-v6-c-table--cell--PaddingBlockEnd | 0.5rem | ||
| ||||
.pf-v6-c-table.pf-m-compact tr:where(.pf-v6-c-table__tr):not(.pf-v6-c-table__expandable-row) | --pf-v6-c-table--cell--PaddingBlockStart | 0.5rem | ||
| ||||
.pf-v6-c-table.pf-m-compact tr:where(.pf-v6-c-table__tr):not(.pf-v6-c-table__expandable-row) | --pf-v6-c-table--cell--PaddingBlockEnd | 0.5rem | ||
| ||||
.pf-v6-c-table.pf-m-compact thead:where(.pf-v6-c-table__thead) th:where(.pf-v6-c-table__th) | --pf-v6-c-table--cell--PaddingBlockStart | calc(0.5rem + 0.25rem) | ||
| ||||
.pf-v6-c-table.pf-m-compact thead:where(.pf-v6-c-table__thead) th:where(.pf-v6-c-table__th) | --pf-v6-c-table--cell--PaddingBlockEnd | 0.5rem | ||
| ||||
.pf-v6-c-table.pf-m-compact .pf-v6-c-table__action | --pf-v6-c-table--cell--PaddingBlockStart | 0.25rem | ||
| ||||
.pf-v6-c-table.pf-m-compact .pf-v6-c-table__action | --pf-v6-c-table--cell--PaddingBlockEnd | 0.25rem | ||
| ||||
.pf-v6-c-table__thead | --pf-v6-c-table__tr--BorderBlockEndWidth | 0 | ||
.pf-v6-c-table__thead | --pf-v6-c-table__toggle--PaddingBlockEnd | 0.25rem | ||
| ||||
.pf-v6-c-table__thead.pf-m-nested-column-header .pf-v6-c-table__button | --pf-v6-c-table__button--PaddingInlineStart | calc(1rem - 0.5rem) | ||
| ||||
.pf-v6-c-table__thead.pf-m-nested-column-header .pf-v6-c-table__button | --pf-v6-c-table__button--PaddingInlineEnd | calc(1rem - (0.5rem / 2)) | ||
| ||||
.pf-v6-c-table .pf-m-width-10 | --pf-v6-c-table--cell--Width | 10% | ||
.pf-v6-c-table .pf-m-width-15 | --pf-v6-c-table--cell--Width | 15% | ||
.pf-v6-c-table .pf-m-width-20 | --pf-v6-c-table--cell--Width | 20% | ||
.pf-v6-c-table .pf-m-width-25 | --pf-v6-c-table--cell--Width | 25% | ||
.pf-v6-c-table .pf-m-width-30 | --pf-v6-c-table--cell--Width | 30% | ||
.pf-v6-c-table .pf-m-width-35 | --pf-v6-c-table--cell--Width | 35% | ||
.pf-v6-c-table .pf-m-width-40 | --pf-v6-c-table--cell--Width | 40% | ||
.pf-v6-c-table .pf-m-width-45 | --pf-v6-c-table--cell--Width | 45% | ||
.pf-v6-c-table .pf-m-width-50 | --pf-v6-c-table--cell--Width | 50% | ||
.pf-v6-c-table .pf-m-width-60 | --pf-v6-c-table--cell--Width | 60% | ||
.pf-v6-c-table .pf-m-width-70 | --pf-v6-c-table--cell--Width | 70% | ||
.pf-v6-c-table .pf-m-width-80 | --pf-v6-c-table--cell--Width | 80% | ||
.pf-v6-c-table .pf-m-width-90 | --pf-v6-c-table--cell--Width | 90% | ||
.pf-v6-c-table .pf-m-width-100 | --pf-v6-c-table--cell--Width | 100% |