blob: 14b3e4f2d2aa45983540fc033e464318b1656480 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import { css, styled } from '@superset-ui/core';
export default styled.div`
${({ theme }) => css`
/* Base table styles */
table {
width: 100%;
min-width: auto;
max-width: none;
margin: 0;
border-collapse: collapse;
}
/* Cell styling */
th,
td {
min-width: 4.3em;
padding: 0.75rem;
vertical-align: top;
}
/* Header styling */
thead > tr > th {
padding-right: 0;
position: relative;
background-color: ${theme.colorBgBase};
text-align: left;
border-bottom: 2px solid ${theme.colorSplit};
color: ${theme.colorText};
vertical-align: bottom;
}
/* Icons in header */
th svg {
margin: 1px ${theme.sizeUnit / 2}px;
fill-opacity: 0.2;
}
th.is-sorted svg {
color: ${theme.colorText};
fill-opacity: 1;
}
/* Table body styling */
.table > tbody > tr:first-of-type > td,
.table > tbody > tr:first-of-type > th {
border-top: 0;
}
.table > tbody tr td {
font-feature-settings: 'tnum' 1;
border-top: 1px solid ${theme.colorSplit};
}
/* Bootstrap-like condensed table styles */
table.table-condensed,
table.table-sm {
font-size: ${theme.fontSizeSM}px;
}
table.table-condensed th,
table.table-condensed td,
table.table-sm th,
table.table-sm td {
padding: 0.3rem;
}
/* Bootstrap-like bordered table styles */
table.table-bordered {
border: 1px solid ${theme.colorSplit};
}
table.table-bordered th,
table.table-bordered td {
border: 1px solid ${theme.colorSplit};
}
/* Bootstrap-like striped table styles */
table.table-striped tbody tr:nth-of-type(odd) {
background-color: ${theme.colorBgLayout};
}
/* Controls and metrics */
.dt-controls {
padding-bottom: 0.65em;
}
.dt-metric {
text-align: right;
}
.dt-totals {
font-weight: ${theme.fontWeightStrong};
}
.dt-is-null {
color: ${theme.colorTextTertiary};
}
td.dt-is-filter {
cursor: pointer;
}
td.dt-is-filter:hover {
background-color: ${theme.colorPrimaryBgHover};
}
td.dt-is-active-filter,
td.dt-is-active-filter:hover {
background-color: ${theme.colorPrimaryBgHover};
}
.dt-global-filter {
float: right;
}
/* Cell truncation */
.dt-truncate-cell {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.dt-truncate-cell:hover {
overflow: visible;
white-space: normal;
height: auto;
}
/* Pagination styling */
.dt-pagination {
text-align: right;
/* use padding instead of margin so clientHeight can capture it */
padding: ${theme.paddingXXS}px 0px;
}
.dt-pagination .pagination > li {
display: inline;
margin: 0 ${theme.marginXXS}px;
}
.dt-pagination .pagination > li > a,
.dt-pagination .pagination > li > span {
background-color: ${theme.colorBgBase};
color: ${theme.colorText};
border-color: ${theme.colorBorderSecondary};
padding: ${theme.paddingXXS}px ${theme.paddingXS}px;
border-radius: ${theme.borderRadius}px;
}
.dt-pagination .pagination > li.active > a,
.dt-pagination .pagination > li.active > span,
.dt-pagination .pagination > li.active > a:focus,
.dt-pagination .pagination > li.active > a:hover,
.dt-pagination .pagination > li.active > span:focus,
.dt-pagination .pagination > li.active > span:hover {
background-color: ${theme.colorPrimary};
color: ${theme.colorBgContainer};
border-color: ${theme.colorBorderSecondary};
}
.pagination > li > span.dt-pagination-ellipsis:focus,
.pagination > li > span.dt-pagination-ellipsis:hover {
background: ${theme.colorBgLayout};
border-color: ${theme.colorBorderSecondary};
}
.dt-no-results {
text-align: center;
padding: 1em 0.6em;
}
.right-border-only {
border-right: 2px solid ${theme.colorSplit};
}
table .right-border-only:last-child {
border-right: none;
}
`}
`;