VDataTable.css 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. .v-data-table {
  2. width: 100%;
  3. }
  4. .v-data-table__table {
  5. width: 100%;
  6. border-collapse: separate;
  7. border-spacing: 0;
  8. }
  9. .v-data-table__tr--focus {
  10. border: 1px dotted black;
  11. }
  12. .v-data-table__tr--clickable {
  13. cursor: pointer;
  14. }
  15. .v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--align-end,
  16. .v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--align-end,
  17. .v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--align-end,
  18. .v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--align-end {
  19. text-align: end;
  20. }
  21. .v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--align-end .v-data-table-header__content,
  22. .v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--align-end .v-data-table-header__content,
  23. .v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--align-end .v-data-table-header__content,
  24. .v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--align-end .v-data-table-header__content {
  25. flex-direction: row-reverse;
  26. }
  27. .v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--align-center,
  28. .v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--align-center,
  29. .v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--align-center,
  30. .v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--align-center {
  31. text-align: center;
  32. }
  33. .v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--align-center .v-data-table-header__content,
  34. .v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--align-center .v-data-table-header__content,
  35. .v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--align-center .v-data-table-header__content,
  36. .v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--align-center .v-data-table-header__content {
  37. justify-content: center;
  38. }
  39. .v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--no-padding,
  40. .v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--no-padding,
  41. .v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--no-padding,
  42. .v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--no-padding {
  43. padding: 0 8px;
  44. }
  45. .v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--nowrap,
  46. .v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--nowrap,
  47. .v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--nowrap,
  48. .v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--nowrap {
  49. text-overflow: ellipsis;
  50. text-wrap: nowrap;
  51. overflow: hidden;
  52. }
  53. .v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--nowrap .v-data-table-header__content,
  54. .v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--nowrap .v-data-table-header__content,
  55. .v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--nowrap .v-data-table-header__content,
  56. .v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--nowrap .v-data-table-header__content {
  57. display: contents;
  58. }
  59. .v-data-table .v-table__wrapper > table > thead > tr > th,
  60. .v-data-table .v-table__wrapper > table tbody > tr > th {
  61. align-items: center;
  62. }
  63. .v-data-table .v-table__wrapper > table > thead > tr > th.v-data-table__th--fixed,
  64. .v-data-table .v-table__wrapper > table tbody > tr > th.v-data-table__th--fixed {
  65. position: sticky;
  66. }
  67. .v-data-table .v-table__wrapper > table > thead > tr > th.v-data-table__th--sortable:hover,
  68. .v-data-table .v-table__wrapper > table tbody > tr > th.v-data-table__th--sortable:hover {
  69. cursor: pointer;
  70. color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity));
  71. }
  72. .v-data-table .v-table__wrapper > table > thead > tr > th:not(.v-data-table__th--sorted) .v-data-table-header__sort-icon,
  73. .v-data-table .v-table__wrapper > table tbody > tr > th:not(.v-data-table__th--sorted) .v-data-table-header__sort-icon {
  74. opacity: 0;
  75. }
  76. .v-data-table .v-table__wrapper > table > thead > tr > th:not(.v-data-table__th--sorted):hover .v-data-table-header__sort-icon,
  77. .v-data-table .v-table__wrapper > table tbody > tr > th:not(.v-data-table__th--sorted):hover .v-data-table-header__sort-icon {
  78. opacity: 0.5;
  79. }
  80. .v-data-table .v-table__wrapper > table > thead > tr.v-data-table__tr--mobile > td,
  81. .v-data-table .v-table__wrapper > table tbody > tr.v-data-table__tr--mobile > td {
  82. height: fit-content;
  83. }
  84. .v-data-table-column--fixed,
  85. .v-data-table__th--sticky {
  86. background: rgb(var(--v-theme-surface));
  87. position: sticky !important;
  88. left: 0;
  89. z-index: 1;
  90. }
  91. .v-data-table-column--last-fixed {
  92. border-right: 1px solid rgba(var(--v-border-color), var(--v-border-opacity));
  93. }
  94. .v-data-table.v-table--fixed-header > .v-table__wrapper > table > thead > tr > th.v-data-table-column--fixed {
  95. z-index: 2;
  96. }
  97. .v-data-table-group-header-row td {
  98. background: rgba(var(--v-theme-surface));
  99. color: rgba(var(--v-theme-on-surface));
  100. }
  101. .v-data-table-group-header-row td > span {
  102. padding-left: 5px;
  103. }
  104. .v-data-table--loading .v-data-table__td {
  105. opacity: var(--v-disabled-opacity);
  106. }
  107. .v-data-table-group-header-row__column {
  108. padding-left: calc(var(--v-data-table-group-header-row-depth) * 16px) !important;
  109. }
  110. .v-data-table-header__content {
  111. display: flex;
  112. align-items: center;
  113. }
  114. .v-data-table-header__sort-badge {
  115. display: inline-flex;
  116. justify-content: center;
  117. align-items: center;
  118. font-size: 0.875rem;
  119. padding: 4px;
  120. border-radius: 50%;
  121. background: rgba(var(--v-border-color), var(--v-border-opacity));
  122. min-width: 20px;
  123. min-height: 20px;
  124. width: 20px;
  125. height: 20px;
  126. }
  127. .v-data-table-progress > th {
  128. border: none !important;
  129. height: auto !important;
  130. padding: 0 !important;
  131. }
  132. .v-data-table-progress__loader {
  133. position: relative;
  134. }
  135. .v-data-table-rows-loading,
  136. .v-data-table-rows-no-data {
  137. text-align: center;
  138. }
  139. .v-data-table__tr--mobile > .v-data-table__td--expanded-row {
  140. grid-template-columns: 0;
  141. justify-content: center;
  142. }
  143. .v-data-table__tr--mobile > .v-data-table__td--select-row {
  144. grid-template-columns: 0;
  145. justify-content: end;
  146. }
  147. .v-data-table__tr--mobile > td {
  148. align-items: center;
  149. column-gap: 4px;
  150. display: grid;
  151. grid-template-columns: repeat(2, 1fr);
  152. min-height: var(--v-table-row-height);
  153. }
  154. .v-data-table__tr--mobile > td:not(:last-child) {
  155. border-bottom: 0 !important;
  156. }
  157. .v-data-table__td-title {
  158. font-weight: 500;
  159. text-align: left;
  160. }
  161. .v-data-table__td-value {
  162. text-align: right;
  163. }
  164. .v-data-table__td-sort-icon {
  165. color: rgba(var(--v-theme-on-surface), var(--v-disabled-opacity));
  166. }
  167. .v-data-table__td-sort-icon-active {
  168. color: rgba(var(--v-theme-on-surface));
  169. }