xref: /openbmc/webui-vue/src/assets/styles/bmc/custom/_tables.scss (revision 24b377db47a05f742b1f3db77606f6bae845f637)
1a88f7529SYoshie Muranaka.table {
2a88f7529SYoshie Muranaka  position: relative;
3*24b377dbSsuryav9724  z-index: $zindex-dropdown;
4a88f7529SYoshie Muranaka
5a88f7529SYoshie Muranaka  td {
601da8187SYoshie Muranaka    border-top: 1px solid gray("300");
701da8187SYoshie Muranaka    border-bottom: 1px solid gray("300");
8a88f7529SYoshie Muranaka    &:first-of-type {
901da8187SYoshie Muranaka      border-left: 1px solid gray("300");
10a88f7529SYoshie Muranaka    }
11a88f7529SYoshie Muranaka    &:last-of-type {
1201da8187SYoshie Muranaka      border-right: 1px solid gray("300");
13a88f7529SYoshie Muranaka    }
14a04d46f7SDixsie Wolmers    vertical-align: middle;
15dc618a8dSSurenNeware
16dc618a8dSSurenNeware    // Table action buttons
17dc618a8dSSurenNeware    .btn-link {
18dc618a8dSSurenNeware      width: 40px;
19dc618a8dSSurenNeware      height: 40px;
20dc618a8dSSurenNeware      padding: 5px !important;
21dc618a8dSSurenNeware      display: inline-flex;
22dc618a8dSSurenNeware      justify-content: center;
23dc618a8dSSurenNeware      align-items: center;
24dc618a8dSSurenNeware    }
25a88f7529SYoshie Muranaka  }
26a88f7529SYoshie Muranaka
27a04d46f7SDixsie Wolmers  // thead-light added for specificity
28a88f7529SYoshie Muranaka  .thead-light th {
29a04d46f7SDixsie Wolmers    vertical-align: middle;
30a04d46f7SDixsie Wolmers    border-top: 1px solid gray("300");
31a04d46f7SDixsie Wolmers    border-bottom: 1px solid gray("300");
32a04d46f7SDixsie Wolmers    &:first-of-type {
33a04d46f7SDixsie Wolmers      border-left: 1px solid gray("300");
34a04d46f7SDixsie Wolmers    }
35a04d46f7SDixsie Wolmers    &:last-of-type {
36a04d46f7SDixsie Wolmers      border-right: 1px solid gray("300");
37a04d46f7SDixsie Wolmers    }
3801da8187SYoshie Muranaka    color: theme-color("dark");
39fde429e0SSukanya Pandey    &:focus {
40fde429e0SSukanya Pandey      outline: none;
41fde429e0SSukanya Pandey    }
42a88f7529SYoshie Muranaka  }
43a88f7529SYoshie Muranaka
44a88f7529SYoshie Muranaka  .status-icon svg {
45a88f7529SYoshie Muranaka    width: 1rem;
46a88f7529SYoshie Muranaka    height: auto;
47a88f7529SYoshie Muranaka  }
48a88f7529SYoshie Muranaka
49a88f7529SYoshie Muranaka  .b-table-has-details {
50a88f7529SYoshie Muranaka    td {
51a88f7529SYoshie Muranaka      border-bottom: none;
52a88f7529SYoshie Muranaka    }
53a88f7529SYoshie Muranaka    .table-row-expand svg {
54a88f7529SYoshie Muranaka      transform: rotate(180deg);
55a88f7529SYoshie Muranaka    }
56a88f7529SYoshie Muranaka  }
57a88f7529SYoshie Muranaka
58a88f7529SYoshie Muranaka  .b-table-details {
5901da8187SYoshie Muranaka    background-color: theme-color("light");
60a88f7529SYoshie Muranaka    td {
61a88f7529SYoshie Muranaka      padding-left: calc(50px + (#{$table-cell-padding} * 2));
6255ef76a3SSandeepa Singh      padding-right: calc(50px + (#{$table-cell-padding} * 2));
63a88f7529SYoshie Muranaka    }
64a88f7529SYoshie Muranaka    dl {
65a88f7529SYoshie Muranaka      margin: 0;
66a88f7529SYoshie Muranaka    }
67a88f7529SYoshie Muranaka    dt {
6825e17a11SDixsie Wolmers      float: left;
6925e17a11SDixsie Wolmers      clear: left;
70a88f7529SYoshie Muranaka      margin-right: $spacer / 2;
71a88f7529SYoshie Muranaka    }
72a88f7529SYoshie Muranaka    dd {
7325e17a11SDixsie Wolmers      line-height: 1.2
74a88f7529SYoshie Muranaka    }
75a88f7529SYoshie Muranaka  }
76a88f7529SYoshie Muranaka
77a88f7529SYoshie Muranaka  .table-row-expand {
78a88f7529SYoshie Muranaka    width: 50px;
79a88f7529SYoshie Muranaka    .btn {
80a88f7529SYoshie Muranaka      padding: 0;
81a88f7529SYoshie Muranaka      width: 50px;
82a88f7529SYoshie Muranaka    }
83a88f7529SYoshie Muranaka    svg {
8401da8187SYoshie Muranaka      fill: theme-color("dark");
85a88f7529SYoshie Muranaka    }
86a88f7529SYoshie Muranaka  }
87fde429e0SSukanya Pandey  .b-table-sort-icon-left {
88fde429e0SSukanya Pandey    background-position: left calc(1.5rem / 2) center !important;
89fde429e0SSukanya Pandey    padding-left: calc(1.2rem + 0.65em) !important;
90fde429e0SSukanya Pandey    &:focus {
91fde429e0SSukanya Pandey      outline: none;
92fde429e0SSukanya Pandey      box-shadow: inset 0 0 0 2px theme-color('primary') !important;
93fde429e0SSukanya Pandey    }
94fde429e0SSukanya Pandey    &:hover {
95fde429e0SSukanya Pandey      background-color: theme-color-dark('light');
96fde429e0SSukanya Pandey    }
97fde429e0SSukanya Pandey  }
98a88f7529SYoshie Muranaka}
991d2da29eSMateusz Gapski
1001d2da29eSMateusz Gapski.b-table-sticky-header td {
1011d2da29eSMateusz Gapski  border-top: none;
1021d2da29eSMateusz Gapski}
1031d2da29eSMateusz Gapski
1045e9c391cSSurenNeware// Table stacked style for small screen only
1055e9c391cSSurenNeware@include media-breakpoint-down(xs) {
1065e9c391cSSurenNeware  .b-table-stacked-sm {
1075e9c391cSSurenNeware    border: 1px solid gray("300");
1085e9c391cSSurenNeware
1095e9c391cSSurenNeware    tr {
1105e9c391cSSurenNeware
1115e9c391cSSurenNeware      &:not(:first-child) > td[aria-colindex='1'] {
1125e9c391cSSurenNeware        border-top: 1px solid gray("300");
1135e9c391cSSurenNeware        padding-top: 0.625rem;
1145e9c391cSSurenNeware      }
1155e9c391cSSurenNeware
1165e9c391cSSurenNeware      &:not(.b-table-empty-row) {
1175e9c391cSSurenNeware        position: relative; // Restrict background color to get zebra striping for the row
1185e9c391cSSurenNeware
1195e9c391cSSurenNeware        &::before,
1205e9c391cSSurenNeware        &::after {
1215e9c391cSSurenNeware          position: absolute;
1225e9c391cSSurenNeware          top: 0;
1235e9c391cSSurenNeware          height: 100%;
1245e9c391cSSurenNeware          z-index: -1;
1255e9c391cSSurenNeware        }
1265e9c391cSSurenNeware
1275e9c391cSSurenNeware        &:before {
1285e9c391cSSurenNeware          content: '';
1295e9c391cSSurenNeware          background-color: gray("200");
1305e9c391cSSurenNeware          width: 40%;
1315e9c391cSSurenNeware          border-right: 1px solid gray("300");
1325e9c391cSSurenNeware        }
1335e9c391cSSurenNeware
1345e9c391cSSurenNeware        &:after {
1355e9c391cSSurenNeware          content: '';
1365e9c391cSSurenNeware          right: 0;
1375e9c391cSSurenNeware          width: 60%;
1385e9c391cSSurenNeware        }
1395e9c391cSSurenNeware
1405e9c391cSSurenNeware        &:nth-child(even)::after {
1415e9c391cSSurenNeware          background-color: gray("100"); // Zebra striping for the row
1425e9c391cSSurenNeware        }
1435e9c391cSSurenNeware      }
1445e9c391cSSurenNeware
1455e9c391cSSurenNeware      td {
1465e9c391cSSurenNeware        border: 0;
1475e9c391cSSurenNeware        padding: 0.75rem;
1485e9c391cSSurenNeware        text-align: left !important;
1495e9c391cSSurenNeware
1505e9c391cSSurenNeware        &:last-of-type {
1515e9c391cSSurenNeware          border-right: 0;
1525e9c391cSSurenNeware        }
1535e9c391cSSurenNeware      }
1545e9c391cSSurenNeware    }
1555e9c391cSSurenNeware  }
1565e9c391cSSurenNeware
1575e9c391cSSurenNeware  .table.b-table.b-table-stacked-sm > tbody > tr > [data-label] {
1585e9c391cSSurenNeware    &::before {
1595e9c391cSSurenNeware      text-align: left;
1605e9c391cSSurenNeware      padding-left: $spacer /2;
1615e9c391cSSurenNeware    }
1625e9c391cSSurenNeware
1635e9c391cSSurenNeware    > div {
1645e9c391cSSurenNeware      padding-left: 1rem;
1655e9c391cSSurenNeware    }
1665e9c391cSSurenNeware  }
1675e9c391cSSurenNeware
1685e9c391cSSurenNeware  .table.b-table.b-table-stacked-sm > tbody > tr > :first-child {
1695e9c391cSSurenNeware    border-top-width: 1px;
1705e9c391cSSurenNeware  }
1715e9c391cSSurenNeware}
172