@use '../../styles/settings' @use '../../styles/tools' @use '../../components/VTable/variables' as * @use './variables' as * @use '../VTable/variables' as VTable @include tools.layer('components') .v-data-table width: 100% .v-data-table__table width: 100% border-collapse: separate border-spacing: 0 .v-data-table__tr &--focus border: 1px dotted black &--clickable cursor: pointer .v-data-table .v-table__wrapper > table > thead, tbody > tr > td, th &.v-data-table-column--align-end text-align: end .v-data-table-header__content flex-direction: row-reverse &.v-data-table-column--align-center text-align: center .v-data-table-header__content justify-content: center &.v-data-table-column--no-padding padding: 0 8px &.v-data-table-column--empty padding: 0 &.v-data-table-column--nowrap text-overflow: ellipsis text-wrap: nowrap overflow: hidden & .v-data-table-header__content display: contents > th align-items: center > th.v-data-table__th--fixed position: sticky > th.v-data-table__th--sortable:hover, > th.v-data-table__th--sortable:focus cursor: pointer color: tools.theme-color('on-surface', var(--v-high-emphasis-opacity)) > th:not(.v-data-table__th--sorted) .v-data-table-header__sort-icon opacity: $data-table-header-sort-icon-default-opacity &:hover, &:focus-visible .v-data-table-header__sort-icon opacity: $data-table-header-sort-icon-hover-opacity &.v-data-table__tr--mobile > td height: fit-content .v-data-table-column--fixed, .v-data-table-column--fixed-end, .v-data-table__th--sticky background-color: $table-background background-image: inherit left: 0 z-index: 1 @include tools.layer('overrides') // Beat out relative on table > tbody > tr > td // TODO: Use :where() for all those child combinators // @scope would probably be even better but // doesn't seem to be getting here any time soon position: sticky .v-data-table-column--fixed-end left: unset right: 0 .v-data-table-column--last-fixed border-right: 1px solid rgba(var(--v-border-color), var(--v-border-opacity)) .v-data-table-column--first-fixed-end border-left: 1px solid rgba(var(--v-border-color), var(--v-border-opacity)) .v-data-table.v-table--fixed-header > .v-table__wrapper > table > thead > tr > th.v-data-table-column--fixed, > th.v-data-table-column--fixed-end z-index: 2 .v-data-table-group-header-row td background: rgba(var(--v-theme-surface)) color: rgba(var(--v-theme-on-surface)) > span padding-left: 5px .v-data-table--loading &:not(.v-table--fixed-header) > .v-table__wrapper > table > thead, &:not(.v-table--fixed-footer) > .v-table__wrapper > table > tfoot, > .v-table__wrapper > table > tbody > tr > .v-data-table__td &:not(.v-data-table-column--fixed), &:not(.v-data-table-column--fixed-end) opacity: $data-table-loading-opacity @include tools.layer('overrides') // Again, needs to beat all the child combinators .v-data-table-group-header-row__column padding-inline-start: calc(var(--v-data-table-group-header-row-depth) * 16px) .v-data-table-header__content display: flex align-items: center .v-data-table-header__sort-icon margin-inline: $data-table-header-sort-icon-margin-inline .v-data-table-header__sort-badge display: inline-flex justify-content: center align-items: center font-size: 0.875rem padding: 4px border-radius: 50% background: $data-table-header-sort-badge-color min-width: $data-table-header-sort-badge-size min-height: $data-table-header-sort-badge-size width: $data-table-header-sort-badge-size height: $data-table-header-sort-badge-size @include tools.layer('overrides') .v-data-table-progress > th border: none height: auto padding: 0 .v-data-table-progress__loader position: relative .v-data-table-rows-loading, .v-data-table-rows-no-data text-align: center .v-data-table__tr--mobile > .v-data-table__td--expanded-row grid-template-columns: auto justify-content: center > .v-data-table__td--select-row grid-template-columns: 0 justify-content: end > td align-items: center column-gap: 4px display: grid grid-template-columns: repeat(2, 1fr) min-height: var(--v-table-row-height) @include tools.layer('overrides') &:not(:last-child) border-bottom: 0 .v-data-table__td-title font-weight: VTable.$table-header-font-weight text-align: start .v-data-table__td-value text-align: end .v-data-table__td &-sort-icon color: $data-table-header-mobile-chip-icon-color &-active color: $data-table-header-mobile-chip-icon-color-active