diff --git a/packages/table/src/Row/InternalRowWithRT.tsx b/packages/table/src/Row/InternalRowWithRT.tsx index d6522e7e53..f95da22425 100644 --- a/packages/table/src/Row/InternalRowWithRT.tsx +++ b/packages/table/src/Row/InternalRowWithRT.tsx @@ -38,6 +38,7 @@ const InternalRowWithRTForwardRef = ( const isExpandable = row.getCanExpand(); const depth = row.depth; + const hasSubRows = row.subRows.length > 0; const contextValues = useMemo(() => { return { @@ -55,7 +56,7 @@ const InternalRowWithRTForwardRef = ( className={getRowWithRTStyles({ className, isDisabled: disabled, - isExpanded: isExpanded || isParentExpanded, + isExpanded: (isExpanded && hasSubRows) || isParentExpanded, isOddVSRow, isSelected, isVirtualRow: !!virtualRow, diff --git a/packages/table/src/Row/Row.styles.ts b/packages/table/src/Row/Row.styles.ts index 75b77b2d30..1c85439dbc 100644 --- a/packages/table/src/Row/Row.styles.ts +++ b/packages/table/src/Row/Row.styles.ts @@ -93,10 +93,12 @@ export const getRowWithRTStyles = ({ !isVirtualRow && shouldAlternateRowColor && !isSelected, [getGrayZebraRowStyles(theme)]: isOddVSRow && shouldAlternateRowColor && !isSelected, - [getSelectedRowStyles(theme)]: isSelected && !isDisabled, }, { - [getExpandedContentParentStyles(theme)]: isExpanded, + [getExpandedContentParentStyles(theme)]: isExpanded && !isSelected, + }, + { + [getSelectedRowStyles(theme)]: isSelected && !isDisabled, }, className, );