mirror of
https://github.com/fleetdm/fleet
synced 2026-04-25 23:47:25 +00:00
320 lines
6.6 KiB
SCSS
320 lines
6.6 KiB
SCSS
$shadow-width: 40px;
|
|
$shadow-transition-width: 10px;
|
|
|
|
.data-table-block {
|
|
position: relative;
|
|
display: inline-block;
|
|
width: 100%;
|
|
|
|
.data-table {
|
|
&__wrapper {
|
|
position: relative;
|
|
border: 1px solid $ui-fleet-black-10;
|
|
border-radius: 6px;
|
|
margin-top: $pad-small;
|
|
flex-grow: 1;
|
|
width: 100%;
|
|
|
|
// Shadow
|
|
background-image:
|
|
/* Shadows */ linear-gradient(
|
|
to right,
|
|
white,
|
|
$transparent
|
|
),
|
|
linear-gradient(to left, white, $transparent),
|
|
/* Shadow covers */
|
|
linear-gradient(to right, $ui-shadow, white $shadow-transition-width),
|
|
linear-gradient(to left, $ui-shadow, white $shadow-transition-width);
|
|
|
|
background-position: left center, right center, left center, right center;
|
|
background-repeat: no-repeat;
|
|
background-color: white;
|
|
background-size: $shadow-width 100%, $shadow-width 100%, 50% 100%,
|
|
50% 100%;
|
|
|
|
/* Opera doesn't support this in the shorthand */
|
|
background-attachment: local, local, scroll, scroll;
|
|
// End shadow
|
|
}
|
|
|
|
&__table {
|
|
position: relative;
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
color: $core-fleet-black;
|
|
font-size: $x-small;
|
|
}
|
|
|
|
tbody {
|
|
.component__tooltip-wrapper {
|
|
margin: 10px 0; // vertical padding multiline text with tooltip
|
|
}
|
|
|
|
.component__tooltip-wrapper__element {
|
|
white-space: initial; // wraps long text with tooltip
|
|
}
|
|
|
|
tr,
|
|
.single-row {
|
|
transition: background-color 150ms ease-out;
|
|
&:hover {
|
|
background-color: $ui-off-white-opaque; // opaque needed for horizontal scroll shadow
|
|
}
|
|
}
|
|
|
|
.single-row {
|
|
&:hover {
|
|
cursor: pointer;
|
|
}
|
|
&:active {
|
|
background-color: $ui-vibrant-blue-10-opaque; // opaque needed for horizontal scroll shadow
|
|
}
|
|
}
|
|
}
|
|
|
|
tr {
|
|
border-bottom: 1px solid $ui-fleet-black-10;
|
|
|
|
&:last-child {
|
|
border-bottom: 0;
|
|
}
|
|
|
|
// override styles of checkbox data cells
|
|
.form-field--checkbox {
|
|
display: flex;
|
|
justify-content: center;
|
|
margin-bottom: 0;
|
|
|
|
.fleet-checkbox__label {
|
|
padding-left: 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
thead {
|
|
background-color: $ui-off-white-opaque; // opaque needed for horizontal scroll shadow
|
|
color: $core-fleet-black;
|
|
text-align: left;
|
|
border-bottom: 1px solid $ui-fleet-black-10;
|
|
|
|
// resize header icons
|
|
img {
|
|
width: 16px;
|
|
height: 16px;
|
|
vertical-align: top;
|
|
}
|
|
|
|
// do not resize button icons inside headers
|
|
.button {
|
|
img {
|
|
width: initial;
|
|
height: initial;
|
|
vertical-align: initial;
|
|
}
|
|
}
|
|
|
|
th {
|
|
padding: $pad-medium $pad-large;
|
|
white-space: nowrap;
|
|
border-right: 1px solid $ui-fleet-black-10;
|
|
font-weight: $bold;
|
|
|
|
&:first-child {
|
|
border-top-left-radius: 6px;
|
|
}
|
|
|
|
&.selection__header {
|
|
width: 22px;
|
|
padding: $pad-medium;
|
|
}
|
|
|
|
&:last-child {
|
|
border-right: none;
|
|
border-top-right-radius: 6px;
|
|
}
|
|
|
|
.column-header {
|
|
span {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 3px;
|
|
}
|
|
}
|
|
}
|
|
|
|
&.active-selection {
|
|
background: none;
|
|
z-index: 1;
|
|
th {
|
|
border: 0;
|
|
}
|
|
.fleet-checkbox {
|
|
opacity: 0;
|
|
}
|
|
.active-selection__container {
|
|
background-color: $ui-off-white;
|
|
width: 100% !important; // Too much specificity currently at page-level styling. Revisit after data table CSS update to remove !important.
|
|
.active-selection__inner {
|
|
justify-content: flex-start;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.active-selection {
|
|
position: absolute;
|
|
top: 0px;
|
|
width: 100%;
|
|
border: 0;
|
|
border-radius: 6px;
|
|
|
|
&__checkbox {
|
|
padding: 16px;
|
|
width: 20px;
|
|
}
|
|
|
|
&__container {
|
|
padding: 0 24px;
|
|
}
|
|
|
|
&__inner {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
|
|
p {
|
|
margin: 0 $pad-medium 0 0;
|
|
font-weight: $regular;
|
|
|
|
span {
|
|
font-weight: $bold;
|
|
}
|
|
}
|
|
|
|
button {
|
|
margin-right: $pad-medium;
|
|
}
|
|
}
|
|
|
|
&__inner-left,
|
|
&__inner-right {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
}
|
|
|
|
tbody {
|
|
td {
|
|
height: 40px;
|
|
padding: 0 $pad-large;
|
|
|
|
&.selection__cell {
|
|
width: 0px;
|
|
padding: 0 $pad-medium;
|
|
}
|
|
.link-cell,
|
|
.text-cell {
|
|
display: block;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
margin: 0;
|
|
}
|
|
.w400 {
|
|
max-width: calc(400px - 48px);
|
|
min-width: 100%;
|
|
text-align: left;
|
|
}
|
|
.w250 {
|
|
max-width: calc(250px - 48px);
|
|
min-width: 100%;
|
|
text-align: left;
|
|
}
|
|
.grey-cell {
|
|
color: $ui-fleet-black-50;
|
|
font-style: italic;
|
|
}
|
|
}
|
|
|
|
.disable-highlight:hover {
|
|
background-color: initial;
|
|
}
|
|
}
|
|
}
|
|
|
|
.loading-overlay {
|
|
display: flex;
|
|
flex-grow: 1;
|
|
position: absolute;
|
|
top: 0;
|
|
bottom: 0;
|
|
left: 0;
|
|
right: 0;
|
|
background-color: rgba(255, 255, 255, 0.8);
|
|
z-index: 1;
|
|
}
|
|
|
|
&__pagination {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
margin-top: $pad-small;
|
|
margin-bottom: $pad-small;
|
|
margin-left: auto;
|
|
text-align: right;
|
|
|
|
button {
|
|
color: $core-vibrant-blue;
|
|
padding: 6px;
|
|
font-weight: $bold;
|
|
|
|
.fleeticon-chevronleft {
|
|
margin-right: $pad-small;
|
|
|
|
&:before {
|
|
font-size: 0.6rem;
|
|
font-weight: $bold;
|
|
position: relative;
|
|
top: -2px;
|
|
}
|
|
}
|
|
|
|
.fleeticon-chevronright {
|
|
margin-left: $pad-small;
|
|
|
|
&:before {
|
|
font-size: 0.6rem;
|
|
font-weight: $bold;
|
|
position: relative;
|
|
top: -2px;
|
|
}
|
|
}
|
|
}
|
|
|
|
button:hover,
|
|
button:focus {
|
|
background-color: $ui-vibrant-blue-10;
|
|
}
|
|
|
|
.button--disabled:hover,
|
|
.button--disabled:focus {
|
|
background-color: transparent;
|
|
}
|
|
|
|
button:last-child {
|
|
margin-left: $pad-large;
|
|
}
|
|
}
|
|
|
|
&__footer {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
&__footer-text {
|
|
font-size: $x-small;
|
|
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
}
|