1650 lines
31 KiB
CSS
1650 lines
31 KiB
CSS
/* ==================== TDesign style variables from the legacy UI ==================== */
|
|
:root {
|
|
--td-brand-color: #0052d9;
|
|
--td-brand-color-hover: #0034b5;
|
|
--td-brand-color-active: #002a9c;
|
|
--td-brand-color-light: #ecf2fe;
|
|
--td-brand-color-focus: rgba(0, 82, 217, 0.2);
|
|
--td-success-color: #00a870;
|
|
--td-success-color-light: #e8f8f2;
|
|
--td-warning-color: #ed7b2f;
|
|
--td-warning-color-light: #fef3e6;
|
|
--td-error-color: #e34d59;
|
|
--td-error-color-light: #fdecee;
|
|
--td-text-color-primary: rgba(0, 0, 0, 0.9);
|
|
--td-text-color-secondary: rgba(0, 0, 0, 0.6);
|
|
--td-text-color-placeholder: rgba(0, 0, 0, 0.4);
|
|
--td-text-color-disabled: rgba(0, 0, 0, 0.26);
|
|
--td-text-color-anti: #ffffff;
|
|
--td-bg-color-page: #f3f3f3;
|
|
--td-bg-color-container: #ffffff;
|
|
--td-bg-color-container-hover: #f3f3f3;
|
|
--td-bg-color-container-active: #e7e7e7;
|
|
--td-bg-color-secondarycontainer: #f3f3f3;
|
|
--td-bg-color-component: #f3f3f3;
|
|
--td-bg-color-component-hover: #e7e7e7;
|
|
--td-bg-color-component-disabled: #eeeeee;
|
|
--td-border-color: #dcdcdc;
|
|
--td-border-color-light: #e7e7e7;
|
|
--td-mask-color: rgba(0, 0, 0, 0.6);
|
|
--td-shadow-1: 0 1px 10px rgba(0, 0, 0, 0.05), 0 4px 5px rgba(0, 0, 0, 0.08), 0 2px 4px -1px rgba(0, 0, 0, 0.12);
|
|
--td-shadow-2: 0 3px 14px 2px rgba(0, 0, 0, 0.05), 0 8px 10px 1px rgba(0, 0, 0, 0.06), 0 5px 5px -3px rgba(0, 0, 0, 0.1);
|
|
--td-shadow-3: 0 6px 30px 5px rgba(0, 0, 0, 0.05), 0 16px 24px 2px rgba(0, 0, 0, 0.04), 0 8px 10px -5px rgba(0, 0, 0, 0.08);
|
|
--td-radius-small: 3px;
|
|
--td-radius-default: 6px;
|
|
--td-radius-large: 12px;
|
|
--td-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "PingFang SC", "Noto Sans SC", "Microsoft YaHei", sans-serif;
|
|
--td-font-family-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
|
--td-transition: 0.2s cubic-bezier(0.38, 0, 0.24, 1);
|
|
}
|
|
|
|
[data-theme="dark"] {
|
|
--td-brand-color: #4787f0;
|
|
--td-brand-color-hover: #618dff;
|
|
--td-brand-color-active: #366ef4;
|
|
--td-brand-color-light: #1b2f51;
|
|
--td-brand-color-focus: rgba(71, 135, 240, 0.35);
|
|
--td-success-color-light: #0d3926;
|
|
--td-warning-color-light: #4f2a1d;
|
|
--td-error-color-light: #4b191d;
|
|
--td-text-color-primary: rgba(255, 255, 255, 0.9);
|
|
--td-text-color-secondary: rgba(255, 255, 255, 0.55);
|
|
--td-text-color-placeholder: rgba(255, 255, 255, 0.35);
|
|
--td-text-color-disabled: rgba(255, 255, 255, 0.22);
|
|
--td-bg-color-page: #181818;
|
|
--td-bg-color-container: #242424;
|
|
--td-bg-color-container-hover: #383838;
|
|
--td-bg-color-container-active: #4c4c4c;
|
|
--td-bg-color-secondarycontainer: #2c2c2c;
|
|
--td-bg-color-component: #383838;
|
|
--td-bg-color-component-hover: #4c4c4c;
|
|
--td-bg-color-component-disabled: #383838;
|
|
--td-border-color: #5e5e5e;
|
|
--td-border-color-light: #4c4c4c;
|
|
--td-shadow-1: 0 1px 10px rgba(0, 0, 0, 0.15), 0 4px 5px rgba(0, 0, 0, 0.22), 0 2px 4px -1px rgba(0, 0, 0, 0.32);
|
|
--td-shadow-2: 0 3px 14px 2px rgba(0, 0, 0, 0.15), 0 8px 10px 1px rgba(0, 0, 0, 0.18), 0 5px 5px -3px rgba(0, 0, 0, 0.28);
|
|
--td-shadow-3: 0 6px 30px 5px rgba(0, 0, 0, 0.15), 0 16px 24px 2px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.24);
|
|
}
|
|
|
|
/* ==================== Base ==================== */
|
|
* {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
html,
|
|
body,
|
|
#app {
|
|
width: 100%;
|
|
height: 100%;
|
|
min-width: 0;
|
|
margin: 0;
|
|
}
|
|
|
|
body {
|
|
overflow: hidden;
|
|
color: var(--td-text-color-primary);
|
|
background: var(--td-bg-color-page);
|
|
font-family: var(--td-font-family);
|
|
font-size: 14px;
|
|
line-height: 22px;
|
|
transition: background-color var(--td-transition), color var(--td-transition);
|
|
}
|
|
|
|
button,
|
|
input,
|
|
textarea,
|
|
select {
|
|
font: inherit;
|
|
}
|
|
|
|
::-webkit-scrollbar {
|
|
width: 8px;
|
|
height: 8px;
|
|
}
|
|
|
|
::-webkit-scrollbar-track {
|
|
background: transparent;
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb {
|
|
background: var(--td-border-color);
|
|
border-radius: 4px;
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb:hover {
|
|
background: var(--td-text-color-placeholder);
|
|
}
|
|
|
|
.hidden-input {
|
|
display: none;
|
|
}
|
|
|
|
.full-width {
|
|
width: 100%;
|
|
}
|
|
|
|
.muted-line,
|
|
.page-subtitle {
|
|
overflow: hidden;
|
|
color: var(--td-text-color-placeholder);
|
|
font-size: 12px;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.section-label {
|
|
margin-bottom: 8px;
|
|
color: var(--td-text-color-primary);
|
|
font-weight: 600;
|
|
}
|
|
|
|
/* ==================== App shell ==================== */
|
|
.app-layout {
|
|
height: 100vh;
|
|
background: var(--td-bg-color-page);
|
|
}
|
|
|
|
.app-sider {
|
|
background: var(--td-bg-color-container);
|
|
border-right: 1px solid var(--td-border-color-light);
|
|
transition: background-color var(--td-transition), border-color var(--td-transition);
|
|
}
|
|
|
|
.app-sider .n-layout-sider-scroll-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
}
|
|
|
|
.brand {
|
|
display: flex;
|
|
align-items: center;
|
|
flex-shrink: 0;
|
|
gap: 12px;
|
|
height: 64px;
|
|
padding: 0 24px;
|
|
border-bottom: 1px solid var(--td-border-color-light);
|
|
}
|
|
|
|
.n-layout-sider--collapsed .brand {
|
|
justify-content: center;
|
|
padding: 0 16px;
|
|
}
|
|
|
|
.brand-mark {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
flex: 0 0 auto;
|
|
width: 32px;
|
|
height: 32px;
|
|
color: #ffffff;
|
|
font-size: 18px;
|
|
background: linear-gradient(135deg, var(--td-brand-color), #618dff);
|
|
border-radius: var(--td-radius-default);
|
|
}
|
|
|
|
.brand-text {
|
|
overflow: hidden;
|
|
color: var(--td-text-color-primary);
|
|
font-size: 16px;
|
|
font-weight: 600;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.n-layout-sider--collapsed .brand-text {
|
|
display: none;
|
|
}
|
|
|
|
.app-menu {
|
|
flex: 1;
|
|
padding: 16px 8px;
|
|
overflow-x: hidden;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
.app-menu .n-menu-item-content {
|
|
position: relative;
|
|
height: 40px;
|
|
margin-bottom: 4px;
|
|
padding: 0 16px !important;
|
|
color: var(--td-text-color-secondary);
|
|
border-radius: var(--td-radius-default);
|
|
transition: all var(--td-transition);
|
|
}
|
|
|
|
.app-menu .n-menu-item-content-header,
|
|
.app-menu .n-menu-item-content__icon {
|
|
color: inherit;
|
|
}
|
|
|
|
.app-menu .n-menu-item-content:hover {
|
|
color: var(--td-brand-color);
|
|
background: var(--td-bg-color-container-hover);
|
|
}
|
|
|
|
.app-menu .n-menu-item-content--selected {
|
|
color: var(--td-brand-color);
|
|
font-weight: 600;
|
|
background: var(--td-brand-color-light);
|
|
box-shadow: inset 0 0 0 1px var(--td-brand-color-focus);
|
|
}
|
|
|
|
.app-menu .n-menu-item-content--selected::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 8px;
|
|
bottom: 8px;
|
|
left: 6px;
|
|
width: 3px;
|
|
background: var(--td-brand-color);
|
|
border-radius: 3px;
|
|
}
|
|
|
|
.app-menu .n-menu-item-content--selected .n-menu-item-content__icon {
|
|
color: var(--td-brand-color);
|
|
}
|
|
|
|
.n-layout-sider--collapsed .app-menu {
|
|
padding: 16px 8px;
|
|
}
|
|
|
|
.n-layout-sider--collapsed .app-menu .n-menu-item-content {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 40px;
|
|
height: 40px;
|
|
margin: 0 auto 4px;
|
|
padding: 0 !important;
|
|
}
|
|
|
|
.n-layout-sider--collapsed .app-menu .n-menu-item-content-header,
|
|
.n-layout-sider--collapsed .app-menu .n-menu-item-content__arrow {
|
|
display: none;
|
|
}
|
|
|
|
.n-layout-sider--collapsed .app-menu .n-menu-item-content--selected::before {
|
|
display: none;
|
|
}
|
|
|
|
.n-layout-sider--collapsed .app-menu .n-menu-item-content__icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-right: 0 !important;
|
|
}
|
|
|
|
.sider-footer {
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex-shrink: 0;
|
|
gap: 4px;
|
|
align-items: center;
|
|
padding: 12px 16px;
|
|
color: var(--td-text-color-secondary);
|
|
font-family: var(--td-font-family-mono);
|
|
font-size: 12px;
|
|
text-align: center;
|
|
border-top: 1px solid var(--td-border-color-light);
|
|
}
|
|
|
|
.n-layout-sider--collapsed .sider-footer {
|
|
padding: 10px 6px;
|
|
}
|
|
|
|
.n-layout-sider--collapsed .sider-version-label,
|
|
.n-layout-sider--collapsed .sider-powered {
|
|
display: none;
|
|
}
|
|
|
|
.topbar,
|
|
.page-header {
|
|
display: flex;
|
|
flex-shrink: 0;
|
|
align-items: center;
|
|
gap: 16px;
|
|
height: 64px;
|
|
padding: 0 32px;
|
|
background: var(--td-bg-color-container);
|
|
border-bottom: 1px solid var(--td-border-color-light);
|
|
}
|
|
|
|
.page-header-content {
|
|
display: flex;
|
|
flex: 1;
|
|
align-items: center;
|
|
min-width: 0;
|
|
gap: 16px;
|
|
}
|
|
|
|
.page-header h1 {
|
|
margin: 0;
|
|
color: var(--td-text-color-primary);
|
|
font-size: 20px;
|
|
font-weight: 600;
|
|
line-height: 1.2;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.page-header-actions {
|
|
display: flex;
|
|
flex-shrink: 0;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
|
|
.header-info-text {
|
|
color: var(--td-text-color-secondary);
|
|
font-family: var(--td-font-family-mono);
|
|
font-size: 12px;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.theme-toggle,
|
|
.restart-btn {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
flex-shrink: 0;
|
|
width: 32px;
|
|
height: 32px;
|
|
padding: 0;
|
|
color: var(--td-text-color-primary);
|
|
font-size: 14px;
|
|
white-space: nowrap;
|
|
background: transparent;
|
|
border: 1px solid var(--td-border-color);
|
|
border-radius: var(--td-radius-default);
|
|
cursor: pointer;
|
|
transition: all var(--td-transition);
|
|
}
|
|
|
|
.theme-toggle:hover {
|
|
background: var(--td-bg-color-container-hover);
|
|
border-color: var(--td-text-color-secondary);
|
|
}
|
|
|
|
.restart-btn {
|
|
color: var(--td-error-color);
|
|
border-color: var(--td-error-color);
|
|
}
|
|
|
|
.restart-btn:hover {
|
|
color: var(--td-error-color);
|
|
background: var(--td-error-color-light);
|
|
}
|
|
|
|
.restart-btn:disabled {
|
|
cursor: wait;
|
|
opacity: 0.7;
|
|
}
|
|
|
|
.theme-toggle svg,
|
|
.restart-btn svg {
|
|
display: block;
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
|
|
.restart-overlay {
|
|
position: fixed;
|
|
inset: 0;
|
|
z-index: 5000;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background: var(--td-mask-color);
|
|
backdrop-filter: blur(4px);
|
|
}
|
|
|
|
.restart-overlay-content {
|
|
display: flex;
|
|
min-width: 260px;
|
|
align-items: center;
|
|
flex-direction: column;
|
|
gap: 18px;
|
|
padding: 32px 44px;
|
|
color: var(--td-text-color-primary);
|
|
background: var(--td-bg-color-container);
|
|
border: 1px solid var(--td-border-color-light);
|
|
border-radius: var(--td-radius-large);
|
|
box-shadow: var(--td-shadow-3);
|
|
}
|
|
|
|
.restart-overlay-spinner {
|
|
width: 44px;
|
|
height: 44px;
|
|
border: 4px solid var(--td-border-color-light);
|
|
border-top-color: var(--td-brand-color);
|
|
border-radius: 50%;
|
|
animation: spinner-rotate 1s linear infinite;
|
|
}
|
|
|
|
.restart-overlay-text {
|
|
color: var(--td-text-color-primary);
|
|
font-size: 15px;
|
|
font-weight: 500;
|
|
line-height: 22px;
|
|
text-align: center;
|
|
}
|
|
|
|
@keyframes spinner-rotate {
|
|
from {
|
|
transform: rotate(0deg);
|
|
}
|
|
|
|
to {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
|
|
.logout-button {
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.content {
|
|
height: calc(100vh - 64px);
|
|
min-width: 0;
|
|
overflow: auto;
|
|
background: var(--td-bg-color-page);
|
|
}
|
|
|
|
/* ==================== Naive UI surface normalization ==================== */
|
|
.n-card.work-card,
|
|
.work-card {
|
|
background: var(--td-bg-color-container);
|
|
border-color: var(--td-border-color-light);
|
|
border-radius: var(--td-radius-large);
|
|
transition: all var(--td-transition);
|
|
}
|
|
|
|
.work-card > .n-card-header {
|
|
min-height: 54px;
|
|
padding: 14px 20px;
|
|
border-bottom: 1px solid var(--td-border-color-light);
|
|
}
|
|
|
|
.work-card > .n-card-header .n-card-header__main,
|
|
.work-card > .n-card-header .n-card-header__extra {
|
|
color: var(--td-text-color-primary);
|
|
}
|
|
|
|
.work-card > .n-card__content {
|
|
padding: 16px 20px;
|
|
color: var(--td-text-color-primary);
|
|
}
|
|
|
|
.work-card > .n-card__footer {
|
|
padding: 12px 20px;
|
|
background: var(--td-bg-color-container);
|
|
border-top: 1px solid var(--td-border-color-light);
|
|
}
|
|
|
|
.work-card .n-form-item-label,
|
|
.work-card .n-form-item-label__text {
|
|
color: var(--td-text-color-secondary);
|
|
}
|
|
|
|
.login-page {
|
|
display: grid;
|
|
min-height: 100vh;
|
|
place-items: center;
|
|
padding: 24px;
|
|
background: var(--td-bg-color-page);
|
|
}
|
|
|
|
.login-card {
|
|
width: min(420px, 100%);
|
|
border-radius: var(--td-radius-large);
|
|
box-shadow: var(--td-shadow-2);
|
|
}
|
|
|
|
.login-brand {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 14px;
|
|
margin-bottom: 24px;
|
|
}
|
|
|
|
.login-brand h1 {
|
|
margin: 0;
|
|
font-size: 22px;
|
|
}
|
|
|
|
.login-brand p {
|
|
margin: 3px 0 0;
|
|
color: var(--td-text-color-secondary);
|
|
}
|
|
|
|
.brand-mark.large {
|
|
width: 44px;
|
|
height: 44px;
|
|
}
|
|
|
|
/* ==================== Upload ==================== */
|
|
.upload-page-body,
|
|
.history-page-body {
|
|
min-height: 100%;
|
|
padding: 24px 32px;
|
|
}
|
|
|
|
.upload-zone {
|
|
display: flex;
|
|
position: relative;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-height: 180px;
|
|
padding: 32px 24px;
|
|
flex-direction: column;
|
|
text-align: center;
|
|
background: var(--td-bg-color-container);
|
|
border: 1px dashed var(--td-border-color);
|
|
border-radius: var(--td-radius-large);
|
|
cursor: pointer;
|
|
transition: all var(--td-transition);
|
|
}
|
|
|
|
.upload-zone:hover,
|
|
.upload-zone.dragover {
|
|
background: var(--td-brand-color-light);
|
|
border-color: var(--td-brand-color);
|
|
}
|
|
|
|
.upload-zone.dragover {
|
|
border-style: solid;
|
|
}
|
|
|
|
.upload-zone.disabled {
|
|
cursor: not-allowed;
|
|
opacity: 0.72;
|
|
}
|
|
|
|
.upload-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 48px;
|
|
height: 48px;
|
|
margin: 0 auto 12px;
|
|
color: var(--td-brand-color);
|
|
font-size: 24px;
|
|
background: var(--td-brand-color-light);
|
|
border-radius: 50%;
|
|
}
|
|
|
|
.upload-zone h3 {
|
|
margin: 0 0 8px;
|
|
color: var(--td-text-color-primary);
|
|
font-size: 16px;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.upload-zone p {
|
|
margin: 0 0 4px;
|
|
color: var(--td-text-color-secondary);
|
|
font-size: 14px;
|
|
}
|
|
|
|
.upload-hint {
|
|
margin-top: 12px !important;
|
|
color: var(--td-brand-color) !important;
|
|
font-size: 13px !important;
|
|
}
|
|
|
|
.remote-run-card {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 16px;
|
|
margin-top: 16px;
|
|
padding: 16px 20px;
|
|
background: var(--td-bg-color-container);
|
|
border: 1px solid var(--td-border-color-light);
|
|
border-radius: var(--td-radius-default);
|
|
}
|
|
|
|
.remote-run-copy {
|
|
min-width: 0;
|
|
}
|
|
|
|
.remote-run-copy h4 {
|
|
margin: 0 0 4px;
|
|
color: var(--td-text-color-primary);
|
|
font-size: 15px;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.remote-run-copy p {
|
|
margin: 0;
|
|
color: var(--td-text-color-secondary);
|
|
font-size: 13px;
|
|
line-height: 20px;
|
|
}
|
|
|
|
.file-list {
|
|
margin-top: 20px;
|
|
}
|
|
|
|
.file-list-header,
|
|
.file-list-footer,
|
|
.upload-stats,
|
|
.upload-stats-item,
|
|
.file-item,
|
|
.file-item-status,
|
|
.card-header,
|
|
.card-header-left,
|
|
.card-header-right,
|
|
.total-progress-header {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.file-list-header,
|
|
.file-list-footer,
|
|
.card-header,
|
|
.total-progress-header {
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.file-list-header {
|
|
margin-bottom: 12px;
|
|
}
|
|
|
|
.file-list-header h4 {
|
|
margin: 0;
|
|
color: var(--td-text-color-primary);
|
|
font-size: 14px;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.file-list-footer {
|
|
margin-top: 16px;
|
|
}
|
|
|
|
#fileCount {
|
|
color: var(--td-text-color-secondary);
|
|
font-size: 13px;
|
|
}
|
|
|
|
.file-items {
|
|
max-height: 240px;
|
|
margin-top: 20px;
|
|
overflow-y: auto;
|
|
background: var(--td-bg-color-container);
|
|
border: 1px solid var(--td-border-color-light);
|
|
border-radius: var(--td-radius-default);
|
|
}
|
|
|
|
.file-item {
|
|
position: relative;
|
|
min-height: 44px;
|
|
padding: 10px 16px;
|
|
flex-wrap: wrap;
|
|
color: var(--td-text-color-primary);
|
|
font-size: 13px;
|
|
border-bottom: 1px solid var(--td-border-color-light);
|
|
transition: background var(--td-transition);
|
|
}
|
|
|
|
.file-item:last-child {
|
|
border-bottom: none;
|
|
}
|
|
|
|
.file-item:hover {
|
|
background: var(--td-bg-color-container-hover);
|
|
}
|
|
|
|
.file-item.uploading {
|
|
background: var(--td-brand-color-light);
|
|
}
|
|
|
|
.file-item.uploaded {
|
|
background: var(--td-success-color-light);
|
|
}
|
|
|
|
.file-item.error {
|
|
background: var(--td-error-color-light);
|
|
}
|
|
|
|
.file-item-icon {
|
|
flex: 0 0 auto;
|
|
margin-right: 10px;
|
|
color: var(--td-brand-color);
|
|
font-size: 16px;
|
|
}
|
|
|
|
.file-item-name {
|
|
min-width: 0;
|
|
flex: 1;
|
|
overflow: hidden;
|
|
font-family: var(--td-font-family-mono);
|
|
font-size: 12px;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.file-item-size {
|
|
flex: 0 0 auto;
|
|
margin-left: 8px;
|
|
color: var(--td-text-color-placeholder);
|
|
font-family: var(--td-font-family-mono);
|
|
font-size: 12px;
|
|
}
|
|
|
|
.file-item-status {
|
|
flex: 0 0 auto;
|
|
gap: 6px;
|
|
margin-left: 12px;
|
|
font-size: 12px;
|
|
}
|
|
|
|
.file-item-status.pending {
|
|
color: var(--td-text-color-placeholder);
|
|
}
|
|
|
|
.file-item-status.uploading {
|
|
color: var(--td-brand-color);
|
|
font-weight: 500;
|
|
}
|
|
|
|
.file-item-status.uploaded {
|
|
color: var(--td-success-color);
|
|
}
|
|
|
|
.file-item-status.error {
|
|
color: var(--td-error-color);
|
|
}
|
|
|
|
.file-progress {
|
|
width: 100%;
|
|
height: 3px;
|
|
margin-top: 8px;
|
|
overflow: hidden;
|
|
background: var(--td-bg-color-component);
|
|
border-radius: 2px;
|
|
}
|
|
|
|
.file-progress-bar {
|
|
height: 100%;
|
|
background: var(--td-brand-color);
|
|
border-radius: 2px;
|
|
transition: width 0.2s ease;
|
|
}
|
|
|
|
.file-item.uploaded .file-progress-bar {
|
|
background: var(--td-success-color);
|
|
}
|
|
|
|
.file-item.error .file-progress-bar {
|
|
background: var(--td-error-color);
|
|
}
|
|
|
|
.total-progress {
|
|
margin: 0 0 16px;
|
|
}
|
|
|
|
.total-progress-header {
|
|
margin-bottom: 8px;
|
|
font-size: 13px;
|
|
}
|
|
|
|
.total-progress-header .label {
|
|
color: var(--td-text-color-secondary);
|
|
}
|
|
|
|
.total-progress-header .percent {
|
|
color: var(--td-brand-color);
|
|
font-weight: 600;
|
|
}
|
|
|
|
.total-progress-bar {
|
|
height: 6px;
|
|
overflow: hidden;
|
|
background: var(--td-bg-color-component);
|
|
border-radius: 3px;
|
|
}
|
|
|
|
.total-progress-bar-inner {
|
|
height: 100%;
|
|
background: linear-gradient(90deg, var(--td-brand-color), #618dff);
|
|
border-radius: 3px;
|
|
transition: width 0.3s ease;
|
|
}
|
|
|
|
.upload-stats {
|
|
gap: 16px;
|
|
margin-bottom: 12px;
|
|
padding: 12px 16px;
|
|
font-size: 13px;
|
|
background: var(--td-bg-color-secondarycontainer);
|
|
border-radius: var(--td-radius-default);
|
|
}
|
|
|
|
.upload-stats-item {
|
|
gap: 6px;
|
|
}
|
|
|
|
.upload-stats-item .count {
|
|
color: var(--td-text-color-primary);
|
|
font-weight: 600;
|
|
}
|
|
|
|
.upload-stats-item.success .count {
|
|
color: var(--td-success-color);
|
|
}
|
|
|
|
.upload-stats-item.error .count {
|
|
color: var(--td-error-color);
|
|
}
|
|
|
|
.process-section {
|
|
margin-top: 12px;
|
|
}
|
|
|
|
.upload-process-card {
|
|
background: var(--td-bg-color-container);
|
|
border: 1px solid var(--td-border-color-light);
|
|
border-radius: var(--td-radius-large);
|
|
transition: all var(--td-transition);
|
|
}
|
|
|
|
.card-header {
|
|
min-height: 58px;
|
|
padding: 16px 20px;
|
|
color: var(--td-text-color-primary);
|
|
font-size: 14px;
|
|
font-weight: 600;
|
|
border-bottom: 1px solid var(--td-border-color-light);
|
|
}
|
|
|
|
.card-header-left,
|
|
.card-header-right {
|
|
gap: 12px;
|
|
}
|
|
|
|
.card-title {
|
|
color: var(--td-text-color-primary);
|
|
font-size: 14px;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.card-body {
|
|
padding: 20px;
|
|
}
|
|
|
|
.process-status {
|
|
padding: 4px 12px;
|
|
color: #ffffff;
|
|
font-size: 12px;
|
|
font-weight: 500;
|
|
background: var(--td-brand-color);
|
|
border-radius: 10px;
|
|
}
|
|
|
|
.process-status.processing {
|
|
animation: status-pulse 1.5s infinite;
|
|
}
|
|
|
|
.process-status.completed {
|
|
background: var(--td-success-color);
|
|
}
|
|
|
|
.process-status.failed {
|
|
background: var(--td-error-color);
|
|
}
|
|
|
|
.task-alert {
|
|
margin-bottom: 12px;
|
|
}
|
|
|
|
.log-container {
|
|
height: calc(100vh - 280px);
|
|
min-height: 300px;
|
|
margin-top: 16px;
|
|
padding: 16px;
|
|
overflow-y: auto;
|
|
background: var(--td-bg-color-page);
|
|
border: 1px solid var(--td-border-color-light);
|
|
border-radius: var(--td-radius-default);
|
|
}
|
|
|
|
.log-content {
|
|
margin: 0;
|
|
color: var(--td-text-color-secondary);
|
|
font-family: var(--td-font-family-mono);
|
|
font-size: 12px;
|
|
line-height: 1.8;
|
|
white-space: pre-wrap;
|
|
}
|
|
|
|
@keyframes status-pulse {
|
|
0%,
|
|
100% {
|
|
opacity: 1;
|
|
}
|
|
|
|
50% {
|
|
opacity: 0.6;
|
|
}
|
|
}
|
|
|
|
/* ==================== History ==================== */
|
|
.page-loading {
|
|
display: grid;
|
|
min-height: 220px;
|
|
place-items: center;
|
|
}
|
|
|
|
.empty-state {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-height: 220px;
|
|
flex-direction: column;
|
|
gap: 10px;
|
|
color: var(--td-text-color-placeholder);
|
|
}
|
|
|
|
.empty-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 42px;
|
|
line-height: 1;
|
|
}
|
|
|
|
.empty-state p {
|
|
margin: 0;
|
|
}
|
|
|
|
.history-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 12px;
|
|
}
|
|
|
|
.history-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 16px;
|
|
padding: 16px 20px;
|
|
background: var(--td-bg-color-container);
|
|
border: 1px solid var(--td-border-color-light);
|
|
border-radius: var(--td-radius-default);
|
|
transition: all var(--td-transition);
|
|
}
|
|
|
|
.history-item:hover {
|
|
border-color: var(--td-brand-color);
|
|
box-shadow: var(--td-shadow-1);
|
|
}
|
|
|
|
.history-status {
|
|
width: 8px;
|
|
height: 8px;
|
|
flex: 0 0 auto;
|
|
border-radius: 50%;
|
|
}
|
|
|
|
.history-status.completed {
|
|
background: var(--td-success-color);
|
|
}
|
|
|
|
.history-status.failed {
|
|
background: var(--td-error-color);
|
|
}
|
|
|
|
.history-status.processing {
|
|
background: var(--td-brand-color);
|
|
animation: status-pulse 1s infinite;
|
|
}
|
|
|
|
.history-status.pending {
|
|
background: var(--td-text-color-placeholder);
|
|
}
|
|
|
|
.history-info {
|
|
min-width: 0;
|
|
flex: 1;
|
|
}
|
|
|
|
.history-id {
|
|
overflow: hidden;
|
|
margin-bottom: 4px;
|
|
color: var(--td-text-color-primary);
|
|
font-family: var(--td-font-family-mono);
|
|
font-size: 14px;
|
|
font-weight: 500;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.history-meta {
|
|
color: var(--td-text-color-placeholder);
|
|
font-size: 12px;
|
|
}
|
|
|
|
.record-size {
|
|
color: var(--td-text-color-secondary);
|
|
font-family: var(--td-font-family-mono);
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.history-actions {
|
|
display: flex;
|
|
flex: 0 0 auto;
|
|
gap: 8px;
|
|
}
|
|
|
|
.history-detail-modal {
|
|
width: min(900px, calc(100vw - 48px));
|
|
}
|
|
|
|
.detail-info-list {
|
|
overflow: hidden;
|
|
border: 1px solid var(--td-border-color-light);
|
|
border-radius: var(--td-radius-default);
|
|
}
|
|
|
|
.detail-info-row {
|
|
display: grid;
|
|
grid-template-columns: 132px minmax(0, 1fr);
|
|
min-height: 44px;
|
|
border-bottom: 1px solid var(--td-border-color-light);
|
|
}
|
|
|
|
.detail-info-row:last-child {
|
|
border-bottom: 0;
|
|
}
|
|
|
|
.detail-info-label,
|
|
.detail-info-value {
|
|
display: flex;
|
|
align-items: center;
|
|
min-width: 0;
|
|
padding: 10px 14px;
|
|
}
|
|
|
|
.detail-info-label {
|
|
color: var(--td-text-color-secondary);
|
|
font-weight: 500;
|
|
background: var(--td-bg-color-secondarycontainer);
|
|
border-right: 1px solid var(--td-border-color-light);
|
|
}
|
|
|
|
.detail-info-value {
|
|
color: var(--td-text-color-primary);
|
|
word-break: break-word;
|
|
}
|
|
|
|
.detail-info-value.monospace,
|
|
.detail-info-value.path-value {
|
|
font-family: var(--td-font-family-mono);
|
|
}
|
|
|
|
.detail-info-value.muted {
|
|
color: var(--td-text-color-placeholder);
|
|
}
|
|
|
|
.detail-info-row.error-row .detail-info-value {
|
|
color: var(--td-error-color);
|
|
}
|
|
|
|
.log-section-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 12px;
|
|
}
|
|
|
|
.colored-log-panel {
|
|
height: 360px;
|
|
overflow: scroll;
|
|
padding: 12px;
|
|
color: #d7dde7;
|
|
background: #111820;
|
|
border-radius: var(--td-radius-default);
|
|
scrollbar-color: #5f6f83 #0b1118;
|
|
}
|
|
|
|
.colored-log-panel::-webkit-scrollbar {
|
|
width: 10px;
|
|
height: 10px;
|
|
}
|
|
|
|
.colored-log-panel::-webkit-scrollbar-track {
|
|
background: #0b1118;
|
|
border-radius: 5px;
|
|
}
|
|
|
|
.colored-log-panel::-webkit-scrollbar-thumb {
|
|
background: #5f6f83;
|
|
border: 2px solid #0b1118;
|
|
border-radius: 5px;
|
|
}
|
|
|
|
.colored-log-panel::-webkit-scrollbar-thumb:hover {
|
|
background: #7b8da3;
|
|
}
|
|
|
|
.colored-log-panel::-webkit-scrollbar-corner {
|
|
background: #0b1118;
|
|
}
|
|
|
|
.colored-log-content {
|
|
display: block;
|
|
min-width: max-content;
|
|
margin: 0;
|
|
font-family: var(--td-font-family-mono);
|
|
font-size: 13px;
|
|
line-height: 1.7;
|
|
white-space: pre;
|
|
}
|
|
|
|
.colored-log-line {
|
|
display: block;
|
|
color: #d7dde7;
|
|
white-space: pre;
|
|
}
|
|
|
|
.colored-log-line.log-level-info {
|
|
color: #62a8ff;
|
|
}
|
|
|
|
.colored-log-line.log-level-success {
|
|
color: #38d996;
|
|
}
|
|
|
|
.colored-log-line.log-level-warning {
|
|
color: #f6c453;
|
|
}
|
|
|
|
.colored-log-line.log-level-error {
|
|
color: #ff6b7a;
|
|
}
|
|
|
|
.script-log {
|
|
min-height: 320px;
|
|
padding: 12px;
|
|
color: #d7dde7;
|
|
background: #111820;
|
|
border-radius: var(--td-radius-default);
|
|
}
|
|
|
|
/* ==================== Settings ==================== */
|
|
.settings-workspace {
|
|
height: 100%;
|
|
box-sizing: border-box;
|
|
padding: 14px 22px 16px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.settings-tabs-card {
|
|
display: flex;
|
|
height: 100%;
|
|
min-width: 0;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.settings-card-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
min-width: 0;
|
|
gap: 16px;
|
|
}
|
|
|
|
.settings-tabs-card > .n-card__content {
|
|
flex: 1;
|
|
min-height: 0;
|
|
padding: 8px 20px 14px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.settings-tabs-card > .n-card__content > .n-tabs {
|
|
height: 100%;
|
|
}
|
|
|
|
.settings-tabs {
|
|
display: flex;
|
|
height: 100%;
|
|
min-height: 0;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.settings-tabs .n-tab-pane {
|
|
height: 100%;
|
|
padding-top: 12px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.settings-tabs .n-tabs-pane-wrapper {
|
|
flex: 1;
|
|
min-height: 0;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.settings-section-grid,
|
|
.settings-rules-grid {
|
|
display: grid;
|
|
align-items: start;
|
|
gap: 20px;
|
|
}
|
|
|
|
.settings-section-grid {
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.settings-rules-grid {
|
|
grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.4fr);
|
|
height: 100%;
|
|
min-height: 0;
|
|
}
|
|
|
|
.settings-security-panel {
|
|
max-width: 560px;
|
|
}
|
|
|
|
.card-actions {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 12px;
|
|
margin-top: 4px;
|
|
}
|
|
|
|
.filter-tags {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 8px;
|
|
min-height: 28px;
|
|
}
|
|
|
|
.form-hint {
|
|
margin: 0;
|
|
color: var(--td-text-color-placeholder);
|
|
font-size: 12px;
|
|
line-height: 20px;
|
|
}
|
|
|
|
.field-mapping-card {
|
|
min-width: 0;
|
|
height: min(620px, 100%);
|
|
min-height: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.field-mapping-card > .n-card-header {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
padding: 14px 20px;
|
|
}
|
|
|
|
.field-mapping-card > .n-card-header .n-card-header__main {
|
|
min-width: 0;
|
|
width: 100%;
|
|
}
|
|
|
|
.field-mapping-card > .n-card__content {
|
|
flex: 1;
|
|
min-height: 0;
|
|
max-height: none;
|
|
padding: 12px 16px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.field-mapping-card > .n-card__footer {
|
|
padding: 12px 20px;
|
|
background: var(--td-bg-color-container);
|
|
border-top: 1px solid var(--td-border-color-light);
|
|
}
|
|
|
|
.field-card-header {
|
|
display: flex;
|
|
width: 100%;
|
|
min-width: 0;
|
|
flex-direction: column;
|
|
gap: 10px;
|
|
}
|
|
|
|
.field-card-title-row {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
min-width: 0;
|
|
gap: 16px;
|
|
}
|
|
|
|
.field-card-title {
|
|
display: flex;
|
|
flex: 0 0 auto;
|
|
align-items: center;
|
|
gap: 8px;
|
|
min-width: 0;
|
|
color: var(--td-text-color-primary);
|
|
font-weight: 600;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.field-card-title > span,
|
|
.field-card-title .n-tag {
|
|
flex: 0 0 auto;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.field-search {
|
|
flex: 1 1 240px;
|
|
width: auto;
|
|
min-width: 180px;
|
|
max-width: 360px;
|
|
}
|
|
|
|
.field-mapping-scroll {
|
|
height: 100%;
|
|
max-height: none;
|
|
}
|
|
|
|
.field-mapping-scroll .n-scrollbar-content {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 12px;
|
|
padding: 0 4px 4px 0;
|
|
}
|
|
|
|
.field-mapping-item {
|
|
position: relative;
|
|
padding: 32px 14px 12px;
|
|
background: var(--td-bg-color-container);
|
|
border: 1px solid var(--td-border-color);
|
|
border-radius: var(--td-radius-default);
|
|
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
|
|
transition: box-shadow var(--td-transition);
|
|
}
|
|
|
|
.field-mapping-item:hover {
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
|
|
}
|
|
|
|
.field-mapping-number {
|
|
display: flex;
|
|
position: absolute;
|
|
top: 4px;
|
|
left: 4px;
|
|
z-index: 1;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 20px;
|
|
height: 20px;
|
|
color: #ffffff;
|
|
font-size: 11px;
|
|
font-weight: 600;
|
|
background: var(--td-brand-color);
|
|
border-radius: var(--td-radius-small);
|
|
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
.field-remove-button {
|
|
position: absolute;
|
|
top: 4px;
|
|
right: 4px;
|
|
z-index: 1;
|
|
}
|
|
|
|
.field-mapping-header {
|
|
display: flex;
|
|
align-items: flex-end;
|
|
gap: 12px;
|
|
margin-bottom: 10px;
|
|
padding-bottom: 10px;
|
|
border-bottom: 1px solid var(--td-border-color-light);
|
|
}
|
|
|
|
.field-name-control {
|
|
flex: 1;
|
|
min-width: 0;
|
|
margin-bottom: 0;
|
|
padding-left: 28px;
|
|
}
|
|
|
|
.field-type-control {
|
|
flex: 0 0 160px;
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.field-name-control .n-form-item-label,
|
|
.field-type-control .n-form-item-label {
|
|
min-height: 20px;
|
|
color: var(--td-text-color-secondary);
|
|
font-size: 12px;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.extract-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.extract-list-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 12px;
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
.extract-list-header > span {
|
|
flex: 0 0 auto;
|
|
color: var(--td-text-color-primary);
|
|
font-size: 12px;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.extract-add-group {
|
|
flex: 1;
|
|
justify-content: flex-end;
|
|
min-width: 250px;
|
|
}
|
|
|
|
.extract-tree {
|
|
max-height: 120px;
|
|
margin-bottom: 8px;
|
|
overflow-y: auto;
|
|
background: var(--td-bg-color-secondarycontainer);
|
|
border: 1px solid var(--td-border-color-light);
|
|
border-radius: var(--td-radius-small);
|
|
}
|
|
|
|
.extract-tree-item {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 12px;
|
|
min-height: 32px;
|
|
padding: 6px 10px;
|
|
color: var(--td-text-color-primary);
|
|
font-size: 13px;
|
|
border-bottom: 1px solid var(--td-border-color-light);
|
|
transition: background var(--td-transition);
|
|
}
|
|
|
|
.extract-tree-item:last-child {
|
|
border-bottom: none;
|
|
}
|
|
|
|
.extract-tree-item:hover {
|
|
background: var(--td-bg-color-container-hover);
|
|
}
|
|
|
|
.tree-text {
|
|
display: flex;
|
|
align-items: center;
|
|
min-width: 0;
|
|
gap: 6px;
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.tree-text::before {
|
|
content: "└";
|
|
flex: 0 0 auto;
|
|
color: var(--td-text-color-placeholder);
|
|
font-size: 12px;
|
|
}
|
|
|
|
.extract-empty {
|
|
margin-bottom: 8px;
|
|
padding: 12px;
|
|
color: var(--td-text-color-placeholder);
|
|
font-size: 12px;
|
|
text-align: center;
|
|
border: 1px dashed var(--td-border-color);
|
|
border-radius: var(--td-radius-small);
|
|
}
|
|
|
|
/* ==================== Script editor ==================== */
|
|
.script-page-body {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
padding: 0 !important;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.script-editor-container {
|
|
flex: 1;
|
|
min-height: 0;
|
|
margin: 16px 16px 0;
|
|
overflow: hidden;
|
|
background: var(--td-bg-color-container);
|
|
border: 1px solid var(--td-border-color);
|
|
border-radius: var(--td-radius-default);
|
|
}
|
|
|
|
.script-editor {
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
|
|
.script-status-bar {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
flex-shrink: 0;
|
|
gap: 16px;
|
|
margin: 8px 16px 16px;
|
|
padding: 6px 16px;
|
|
color: var(--td-text-color-secondary);
|
|
font-size: 12px;
|
|
background: var(--td-bg-color-secondarycontainer);
|
|
border-radius: var(--td-radius-default);
|
|
}
|
|
|
|
.script-status-bar span:first-child,
|
|
.script-status-bar span:last-child {
|
|
font-family: var(--td-font-family-mono);
|
|
}
|
|
|
|
.script-status-bar span:nth-child(2) {
|
|
font-weight: 500;
|
|
}
|
|
|
|
.script-process-section {
|
|
flex: 0 0 auto;
|
|
margin: 0 16px 16px;
|
|
}
|
|
|
|
.script-process-section .card-body {
|
|
padding: 12px 16px 16px;
|
|
}
|
|
|
|
.script-log {
|
|
height: 240px;
|
|
min-height: 240px;
|
|
}
|
|
|
|
/* ==================== Responsive ==================== */
|
|
@media (max-width: 1200px) {
|
|
.settings-section-grid,
|
|
.settings-rules-grid {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.settings-tabs .n-tab-pane {
|
|
overflow: auto;
|
|
}
|
|
|
|
.field-mapping-card {
|
|
height: 620px;
|
|
}
|
|
}
|
|
|
|
@media (max-width: 900px) {
|
|
.topbar,
|
|
.page-header {
|
|
padding: 0 16px;
|
|
}
|
|
|
|
.page-header-content {
|
|
gap: 8px;
|
|
}
|
|
|
|
.page-header h1 {
|
|
font-size: 18px;
|
|
}
|
|
|
|
.page-subtitle,
|
|
.header-info-text {
|
|
display: none;
|
|
}
|
|
|
|
.upload-page-body,
|
|
.history-page-body,
|
|
.settings-workspace {
|
|
padding: 16px;
|
|
}
|
|
|
|
.history-item {
|
|
align-items: flex-start;
|
|
flex-direction: column;
|
|
gap: 10px;
|
|
}
|
|
|
|
.history-actions {
|
|
width: 100%;
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
.remote-run-card {
|
|
align-items: stretch;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.card-actions,
|
|
.settings-card-header,
|
|
.field-card-title-row,
|
|
.extract-list-header {
|
|
align-items: stretch;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.field-mapping-header {
|
|
align-items: stretch;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.field-name-control {
|
|
padding-left: 0;
|
|
}
|
|
|
|
.field-type-control,
|
|
.field-search,
|
|
.extract-add-group {
|
|
width: 100%;
|
|
flex: none;
|
|
}
|
|
}
|