mirror of
https://github.com/apache/superset.git
synced 2026-04-21 00:54:44 +00:00
chore(frontend): comprehensive TypeScript quality improvements (#37625)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,152 @@
|
||||
/**
|
||||
* 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 '@apache-superset/core/ui';
|
||||
|
||||
export const Styles = styled.div<{ isDashboardEditMode: boolean }>`
|
||||
${({ theme, isDashboardEditMode }) => css`
|
||||
table.pvtTable {
|
||||
position: ${isDashboardEditMode ? 'inherit' : 'relative'};
|
||||
width: calc(100% - ${theme.sizeUnit}px);
|
||||
font-size: ${theme.fontSizeSM}px;
|
||||
text-align: left;
|
||||
margin: ${theme.sizeUnit}px;
|
||||
border-collapse: separate;
|
||||
border-spacing: 0;
|
||||
font-family: ${theme.fontFamily};
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
table thead {
|
||||
background-color: ${theme.colorBgBase};
|
||||
position: ${isDashboardEditMode ? 'inherit' : 'sticky'};
|
||||
top: 0;
|
||||
}
|
||||
|
||||
table tbody tr {
|
||||
font-feature-settings: 'tnum' 1;
|
||||
}
|
||||
|
||||
table.pvtTable thead tr th,
|
||||
table.pvtTable tbody tr th {
|
||||
border-top: 1px solid ${theme.colorSplit};
|
||||
border-left: 1px solid ${theme.colorSplit};
|
||||
font-size: ${theme.fontSizeSM}px;
|
||||
padding: ${theme.sizeUnit}px;
|
||||
font-weight: ${theme.fontWeightNormal};
|
||||
}
|
||||
|
||||
table.pvtTable tbody tr.pvtRowTotals {
|
||||
position: ${isDashboardEditMode ? 'inherit' : 'sticky'};
|
||||
bottom: 0;
|
||||
background-color: ${theme.colorBgBase};
|
||||
}
|
||||
|
||||
table.pvtTable tbody tr.pvtRowTotals th,
|
||||
table.pvtTable tbody tr.pvtRowTotals td {
|
||||
background-color: ${theme.colorBgBase};
|
||||
}
|
||||
|
||||
table.pvtTable thead tr:last-of-type th,
|
||||
table.pvtTable thead tr:first-of-type th.pvtTotalLabel,
|
||||
table.pvtTable thead tr:nth-last-of-type(2) th.pvtColLabel,
|
||||
table.pvtTable thead th.pvtSubtotalLabel,
|
||||
table.pvtTable tbody tr:last-of-type th,
|
||||
table.pvtTable tbody tr:last-of-type td {
|
||||
border-bottom: 1px solid ${theme.colorSplit};
|
||||
}
|
||||
|
||||
table.pvtTable
|
||||
thead
|
||||
tr:last-of-type:not(:only-child)
|
||||
th.pvtAxisLabel
|
||||
~ th.pvtColLabel,
|
||||
table.pvtTable tbody tr:first-of-type th,
|
||||
table.pvtTable tbody tr:first-of-type td {
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
table.pvtTable tbody tr td:last-of-type,
|
||||
table.pvtTable thead tr th:last-of-type:not(.pvtSubtotalLabel) {
|
||||
border-right: 1px solid ${theme.colorSplit};
|
||||
}
|
||||
|
||||
table.pvtTable
|
||||
thead
|
||||
tr:last-of-type:not(:only-child)
|
||||
th.pvtAxisLabel
|
||||
+ .pvtTotalLabel {
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
table.pvtTable tr th.active {
|
||||
background-color: ${theme.colorPrimaryBg};
|
||||
}
|
||||
|
||||
table.pvtTable .pvtTotalLabel {
|
||||
text-align: right;
|
||||
font-weight: ${theme.fontWeightStrong};
|
||||
}
|
||||
|
||||
table.pvtTable .pvtSubtotalLabel {
|
||||
font-weight: ${theme.fontWeightStrong};
|
||||
}
|
||||
|
||||
table.pvtTable tbody tr td {
|
||||
color: ${theme.colorPrimaryText};
|
||||
padding: ${theme.sizeUnit}px;
|
||||
background-color: ${theme.colorBgBase};
|
||||
border-top: 1px solid ${theme.colorSplit};
|
||||
border-left: 1px solid ${theme.colorSplit};
|
||||
vertical-align: top;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
table.pvtTable tbody tr th.pvtRowLabel {
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
.pvtTotal,
|
||||
.pvtGrandTotal {
|
||||
font-weight: ${theme.fontWeightStrong};
|
||||
}
|
||||
|
||||
table.pvtTable tbody tr td.pvtRowTotal {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.toggle-wrapper {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.toggle-wrapper > .toggle-val {
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
.toggle {
|
||||
padding-right: ${theme.sizeUnit}px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.hoverable:hover {
|
||||
background-color: ${theme.colorFillContentHover};
|
||||
cursor: pointer;
|
||||
}
|
||||
`}
|
||||
`;
|
||||
Reference in New Issue
Block a user