diff --git a/.changeset/fix-table-row-bg-consumer.md b/.changeset/fix-table-row-bg-consumer.md new file mode 100644 index 0000000000..3c8d64198c --- /dev/null +++ b/.changeset/fix-table-row-bg-consumer.md @@ -0,0 +1,7 @@ +--- +'@backstage/ui': patch +--- + +Fixed Table row hover, selected, pressed, and disabled background states to use the correct neutral token level based on the container background. + +**Affected components:** Table diff --git a/packages/ui/src/components/Table/Table.module.css b/packages/ui/src/components/Table/Table.module.css index 62723db6c8..953ccbed65 100644 --- a/packages/ui/src/components/Table/Table.module.css +++ b/packages/ui/src/components/Table/Table.module.css @@ -121,6 +121,60 @@ background-color: var(--bui-bg-neutral-1-pressed); } + &[data-on-bg='neutral-1'] { + &:hover { + background-color: var(--bui-bg-neutral-2-hover); + } + + &[data-selected] { + background-color: var(--bui-bg-neutral-2-pressed); + } + + &[data-pressed] { + background-color: var(--bui-bg-neutral-2-pressed); + } + + &[data-disabled] { + background-color: var(--bui-bg-neutral-2-disabled); + } + } + + &[data-on-bg='neutral-2'] { + &:hover { + background-color: var(--bui-bg-neutral-3-hover); + } + + &[data-selected] { + background-color: var(--bui-bg-neutral-3-pressed); + } + + &[data-pressed] { + background-color: var(--bui-bg-neutral-3-pressed); + } + + &[data-disabled] { + background-color: var(--bui-bg-neutral-3-disabled); + } + } + + &[data-on-bg='neutral-3'] { + &:hover { + background-color: var(--bui-bg-neutral-4-hover); + } + + &[data-selected] { + background-color: var(--bui-bg-neutral-4-pressed); + } + + &[data-pressed] { + background-color: var(--bui-bg-neutral-4-pressed); + } + + &[data-disabled] { + background-color: var(--bui-bg-neutral-4-disabled); + } + } + &[data-href], &[data-selection-mode], &[data-react-aria-pressable='true'] { diff --git a/packages/ui/src/components/Table/components/Row.tsx b/packages/ui/src/components/Table/components/Row.tsx index 6677f51308..e82bc23e6f 100644 --- a/packages/ui/src/components/Table/components/Row.tsx +++ b/packages/ui/src/components/Table/components/Row.tsx @@ -30,7 +30,7 @@ import { Flex } from '../../Flex'; /** @public */ export function Row(props: RowProps) { - const { ownProps, restProps, analytics } = useDefinition( + const { ownProps, restProps, dataAttributes, analytics } = useDefinition( RowDefinition, props, ); @@ -85,6 +85,7 @@ export function Row(props: RowProps) { ()({ export const RowDefinition = defineComponent()({ styles, analytics: true, + bg: 'consumer', classNames: { root: 'bui-TableRow', cell: 'bui-TableCell',