mirror of
https://github.com/hyperdxio/hyperdx
synced 2026-04-21 13:37:15 +00:00
230 lines
3.9 KiB
SCSS
230 lines
3.9 KiB
SCSS
$button-height: 18px;
|
|
|
|
.tableWrapper {
|
|
/* CSS custom properties for variant support */
|
|
--log-table-bg: var(--color-bg-body);
|
|
--log-table-muted-bg: var(--color-bg-muted);
|
|
|
|
&.muted {
|
|
--log-table-bg: var(--color-bg-muted);
|
|
--log-table-muted-bg: var(--color-bg-highlighted);
|
|
}
|
|
}
|
|
|
|
.table {
|
|
table-layout: fixed;
|
|
border-spacing: 0;
|
|
border-collapse: separate;
|
|
background: var(--log-table-bg);
|
|
}
|
|
|
|
.tableHead {
|
|
background: var(--log-table-bg);
|
|
position: sticky;
|
|
top: 0;
|
|
z-index: 1;
|
|
height: 24px;
|
|
}
|
|
|
|
.tableRow {
|
|
position: relative;
|
|
|
|
&__selected {
|
|
background-color: var(--log-table-muted-bg);
|
|
font-weight: bold;
|
|
}
|
|
|
|
&:hover .rowButtons {
|
|
opacity: 1;
|
|
}
|
|
|
|
&:hover .rowContentButton {
|
|
background-color: var(--log-table-muted-bg);
|
|
}
|
|
|
|
&:has(.expandButton:hover) .rowButtons {
|
|
opacity: 0 !important;
|
|
}
|
|
|
|
&:has(.expandButton:hover) .rowContentButton {
|
|
background-color: transparent !important;
|
|
}
|
|
}
|
|
|
|
.expandedRowContent {
|
|
max-height: 400px;
|
|
overflow: auto;
|
|
background-color: var(--log-table-muted-bg);
|
|
}
|
|
|
|
.expandButton {
|
|
background: transparent;
|
|
border: none;
|
|
padding: 0 2px;
|
|
color: inherit;
|
|
cursor: pointer;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
transition: background-color 0.15s ease-in-out;
|
|
border-radius: 4px;
|
|
min-height: $button-height;
|
|
|
|
&:hover {
|
|
background-color: var(--log-table-muted-bg);
|
|
}
|
|
|
|
&:focus,
|
|
&:focus-visible {
|
|
background-color: var(--log-table-muted-bg);
|
|
outline: none;
|
|
}
|
|
|
|
&:active {
|
|
outline: none;
|
|
box-shadow: none;
|
|
background-color: var(--log-table-muted-bg);
|
|
}
|
|
|
|
svg {
|
|
transition: transform 0.2s ease-in-out;
|
|
transform-origin: center;
|
|
}
|
|
|
|
&.expanded svg {
|
|
transform: rotate(90deg);
|
|
}
|
|
}
|
|
|
|
.expandButtonSeparator {
|
|
width: 1px;
|
|
height: calc($button-height - 8px);
|
|
border-right: 1px solid var(--color-border);
|
|
margin-left: 2px;
|
|
margin-right: 2px;
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
}
|
|
|
|
.rowContentButton {
|
|
background: transparent;
|
|
border: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
width: 100%;
|
|
cursor: pointer;
|
|
text-align: left;
|
|
color: inherit;
|
|
transition: background-color 0.15s ease-in-out;
|
|
border-radius: 4px;
|
|
min-height: $button-height;
|
|
display: flex;
|
|
align-items: center;
|
|
position: relative;
|
|
|
|
&:hover .rowButtons {
|
|
opacity: 1;
|
|
}
|
|
|
|
&:focus,
|
|
&:focus-visible {
|
|
background-color: var(--log-table-muted-bg);
|
|
outline: none;
|
|
}
|
|
|
|
&:active {
|
|
outline: none;
|
|
box-shadow: none;
|
|
background-color: var(--log-table-muted-bg);
|
|
}
|
|
|
|
&.isWrapped {
|
|
align-items: flex-start;
|
|
}
|
|
|
|
&.isTruncated {
|
|
align-items: flex-start;
|
|
}
|
|
}
|
|
|
|
.rowButtons {
|
|
position: absolute;
|
|
top: 2px;
|
|
right: 0;
|
|
padding-left: 10px;
|
|
padding-right: 4px;
|
|
display: flex;
|
|
gap: 4px;
|
|
opacity: 0;
|
|
transition: opacity 0.2s ease-in-out;
|
|
z-index: 0;
|
|
align-items: flex-start;
|
|
|
|
&:hover {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
.iconActionButton {
|
|
padding: 4px;
|
|
border-radius: 4px;
|
|
background-color: var(--color-bg-surface);
|
|
border: 1px solid var(--color-border);
|
|
width: 20px;
|
|
height: 20px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
transition: transform 0.2s ease-in-out;
|
|
pointer-events: auto;
|
|
|
|
&:hover {
|
|
transform: scale(1.05);
|
|
}
|
|
|
|
&.copied {
|
|
color: var(--color-bg-success);
|
|
}
|
|
}
|
|
|
|
.fieldTextContainer {
|
|
position: relative;
|
|
display: block;
|
|
width: 100%;
|
|
}
|
|
|
|
.fieldText {
|
|
overflow: hidden;
|
|
padding: 2px 4px;
|
|
cursor: pointer;
|
|
transition: background-color 0.2s ease-in-out;
|
|
|
|
> span:hover {
|
|
border-radius: 4px;
|
|
background-color: var(--color-bg-highlighted);
|
|
}
|
|
|
|
&.chart {
|
|
overflow: visible;
|
|
min-height: 50px;
|
|
}
|
|
}
|
|
|
|
.fieldText.truncated {
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
min-height: $button-height;
|
|
}
|
|
|
|
.fieldText.wrapped {
|
|
word-break: break-word;
|
|
white-space: normal;
|
|
display: flex;
|
|
}
|
|
|
|
.fieldTextPopover {
|
|
background-color: transparent;
|
|
border: none;
|
|
box-shadow: none;
|
|
padding: 0;
|
|
}
|