[data-rs-table-wrapper] {
width: 100%;
overflow-x: auto;
}
[data-rs-table] {
width: 100%;
border-collapse: collapse;
border-spacing: 0;
}
[data-rs-table-header] {
background: var(--table-header-bg);
border-bottom: var(--table-border-width) solid var(--table-border-color);
}
[data-rs-table-row] {
height: var(--table-row-height);
border-bottom: var(--table-border-width) solid var(--table-border-color);
transition:
background var(--table-row-transition-duration) var(--table-row-transition-ease),
color var(--table-row-transition-duration) var(--table-row-transition-ease);
}
[data-rs-table-row][data-rs-state~="hover"] {
background: var(--table-row-bg-hover);
}
[data-rs-table-row][data-rs-state~="selected"] {
background: var(--table-row-bg-selected);
}
[data-rs-table-head] {
height: var(--table-header-height);
padding-inline: var(--table-cell-padding-x);
padding-block: var(--table-cell-padding-y);
text-align: left;
font-size: var(--table-header-font-size);
font-weight: var(--table-header-font-weight);
color: var(--table-header-fg);
cursor: pointer;
user-select: none;
}
[data-rs-table-head][data-rs-sort="ascending"]::after {
content: " ↑";
}
[data-rs-table-head][data-rs-sort="descending"]::after {
content: " ↓";
}
[data-rs-table-cell] {
padding-inline: var(--table-cell-padding-x);
padding-block: var(--table-cell-padding-y);
font-size: var(--table-cell-font-size);
font-weight: var(--font-weight-normal);
color: var(--table-cell-fg);
}
[data-rs-table-caption] {
padding-block: var(--table-caption-padding-y);
font-size: var(--table-caption-font-size);
color: var(--table-caption-fg);
text-align: left;
}
[data-rs-table][data-rs-striped] [data-rs-table-row][data-rs-state~="odd"] {
background: var(--table-row-bg-striped);
}
[data-rs-table-row][data-rs-action="navigate"] {
cursor: pointer;
}
[data-rs-table-cell][data-rs-copyable] {
cursor: copy;
position: relative;
transition: background var(--table-row-transition-duration) var(--table-row-transition-ease);
}
[data-rs-table-cell][data-rs-copyable][data-rs-state~="hover"] {
background: var(--table-row-bg-hover);
}
[data-rs-table-cell][data-rs-state~="copied"]::after {
content: attr(data-rs-copy-label);
position: absolute;
top: 50%;
right: var(--space-sm);
transform: translateY(-50%);
background: var(--theme-action-accent-bg);
color: var(--theme-action-accent-fg);
font-size: var(--font-size-xs);
padding: var(--space-2xs) var(--space-xs);
border-radius: var(--radius-xs);
pointer-events: none;
}
[data-rs-table-cell][data-rs-truncate] {
max-width: var(--layout-width-xs);
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
transition:
max-width var(--table-row-transition-duration) var(--motion-ease-standard),
white-space var(--table-row-transition-duration) var(--motion-ease-standard);
}
[data-rs-table-cell][data-rs-truncate][data-rs-state~="hover"] {
max-width: none;
overflow: visible;
text-overflow: unset;
white-space: normal;
word-break: break-all;
}
[data-rs-table][data-rs-state~="loading"] {
opacity: var(--opacity-disabled);
pointer-events: none;
}
[data-rs-table][data-rs-state~="error"] {
outline: var(--table-border-width) solid var(--theme-state-error-bg);
}
[data-rs-table][data-rs-state~="empty"] [data-rs-table-body] {
opacity: var(--opacity-disabled);
}