Files
MyGoNavi/frontend/src/styles/v2-theme-workbench.css
Syngnat 57d6e50884 🎨 style(transaction): 手动事务提交按钮改用 warn 独立配色并修复待提交条数看不见
- 手动事务的「提交」按钮不再跟随主题强调色:它是需要用户显式决断的状态,与普通主操作同色时
  无法区分。改用 warn 实心填充,与已是 danger 的「回滚」形成语义配对。
  原先是 accent-soft 底 + accent-2 文字,同色系淡色叠淡色,文字本身对比就很低
- 修复待提交条数徽标的数字看不见:底色原为硬编码 rgba(22,163,74,.18)、文字为 --gn-accent-2,
  而按钮底是 --gn-accent —— 三者几乎同色,实测对比度仅 1.10–1.17,
  静止状态数字完全不可见,只有 hover 把按钮压暗后才显现(DataGrid 与 SQL 编辑器两处同病)
- 新增 --gn-on-warn / --gn-warn-hover / --gn-warn-active / --gn-warn-badge-bg /
  --gn-accent-badge-bg。前景色按亮度择优,因为 warn 跨度很大(#9f5f1d ~ #ebcb8b);
  徽标底色的叠加方向也随前景色反向偏移,写死半透明白会让浅色主题的白字只剩 2.65
- 补 3 项不变式测试:warn 标签与徽标数字对比度均 ≥4.5、warn 三态逐级加深且互不相同。
  该用例已实测抓住浅色主题 warm-paper 的徽标对比不足

实测:徽标数字对比度由 1.10–1.17 提升到 ≥4.5;warn 标签 7.59–11.80。
2026-07-26 21:51:08 +08:00

1276 lines
37 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* ─── V2 Query editor ─ */
body[data-ui-version="v2"] .gn-v2-query-editor {
background: var(--gn-bg-app);
}
body[data-ui-version="v2"] .gn-v2-query-editor-pane {
border-bottom: 0.5px solid var(--gn-br-1);
background: var(--gn-bg-panel);
}
body[data-ui-version="v2"] .gn-v2-query-header {
min-height: 52px;
padding: 10px 14px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
border-bottom: 0.5px solid var(--gn-br-1);
background: var(--gn-bg-panel);
}
body[data-ui-version="v2"] .gn-v2-query-title {
min-width: 0;
display: flex;
flex-direction: column;
gap: 2px;
}
body[data-ui-version="v2"] .gn-v2-query-title span,
body[data-ui-version="v2"] .gn-v2-designer-title span {
color: var(--gn-fg-4);
font-size: 10.5px;
font-weight: 750;
letter-spacing: 0;
text-transform: uppercase;
}
body[data-ui-version="v2"] .gn-v2-query-title strong,
body[data-ui-version="v2"] .gn-v2-designer-title strong {
min-width: 0;
color: var(--gn-fg-1);
font-family: var(--gn-font-mono);
font-size: 15px;
font-weight: 750;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
body[data-ui-version="v2"] .gn-v2-query-context,
body[data-ui-version="v2"] .gn-v2-designer-meta {
display: inline-flex;
align-items: center;
gap: 6px;
flex-wrap: wrap;
justify-content: flex-end;
min-width: 0;
}
body[data-ui-version="v2"] .gn-v2-query-context span,
body[data-ui-version="v2"] .gn-v2-designer-meta span {
min-width: 0;
max-width: 220px;
height: 24px;
padding: 0 8px;
display: inline-flex;
align-items: center;
gap: 5px;
border: 0.5px solid var(--gn-br-1);
border-radius: 6px;
background: var(--gn-bg-panel-2);
color: var(--gn-fg-3);
font-family: var(--gn-font-mono);
font-size: 11px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar,
body[data-ui-version="v2"] .gn-v2-designer-toolbar {
padding: 8px 12px !important;
gap: 6px !important;
flex-wrap: wrap;
background: var(--gn-bg-panel-2) !important;
border: 0 !important;
border-radius: 0 !important;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar {
min-height: 48px;
padding: 8px 12px !important;
gap: 6px 10px !important;
align-items: center !important;
flex-wrap: nowrap;
overflow-x: auto;
overflow-y: hidden;
background: var(--gn-bg-panel) !important;
border-bottom: 0.5px solid var(--gn-br-1) !important;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar-main {
display: inline-flex;
width: max-content;
min-width: 100%;
gap: 6px 10px !important;
align-items: center !important;
flex: 0 0 auto;
flex-wrap: nowrap;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar-selects,
body[data-ui-version="v2"] .gn-v2-query-toolbar-actions {
min-width: 0;
gap: 6px !important;
flex: 0 0 auto !important;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar-selects {
flex-wrap: nowrap;
max-width: 760px;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar-actions {
flex-wrap: nowrap;
justify-content: flex-start;
}
body[data-ui-version="v2"] .gn-v2-query-transaction-toolbar {
display: inline-flex;
max-width: 100%;
flex: 0 0 auto;
flex-wrap: nowrap;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar .ant-select {
min-width: 0;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar-connection-select {
width: 140px !important;
flex: 0 1 140px !important;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar-database-select {
width: 166px !important;
flex: 1 1 166px !important;
max-width: 220px;
}
.gn-query-toolbar-select-full-name {
display: block;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar-max-rows-select {
width: 132px !important;
flex: 0 0 132px !important;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar-transaction-mode-select {
width: 48px !important;
flex: 0 0 48px !important;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar-transaction-delay-select {
width: 48px !important;
flex: 0 0 48px !important;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar .gn-v2-query-toolbar-icon-select .ant-select-selector {
padding: 0 23px 0 7px !important;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar-icon-select .ant-select-selection-item {
display: inline-flex;
align-items: center;
justify-content: center;
padding-inline-end: 0 !important;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar-icon-select .ant-select-arrow {
inset-inline-end: 7px;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar-select-icon {
display: inline-flex;
width: 16px;
height: 16px;
align-items: center;
justify-content: center;
font-size: 15px;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar .ant-select-selector {
height: 32px !important;
padding: 0 10px !important;
border-radius: 9px !important;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar .ant-select-selection-item,
body[data-ui-version="v2"] .gn-v2-query-toolbar .ant-select-selection-placeholder {
line-height: 30px !important;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar .ant-btn {
height: 32px !important;
padding: 0 11px !important;
border-radius: 9px !important;
font-size: 12.5px !important;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar-word-wrap-action.ant-btn,
body[data-ui-version="v2"] .gn-v2-query-toolbar-word-wrap-action .ant-btn-icon {
display: inline-flex;
align-items: center;
justify-content: center;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar-word-wrap-action .ant-btn-icon {
line-height: 1;
}
.gn-query-toolbar-word-wrap-icon {
display: block;
width: 16px;
height: 16px;
flex: 0 0 16px;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar-action-group {
display: inline-flex !important;
align-items: center;
flex: 0 0 auto;
gap: 6px;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar-action-pair {
display: inline-flex;
align-items: center;
flex: 0 0 auto;
gap: 8px;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar-action-group > .ant-btn {
flex: 0 0 auto;
border-radius: 9px !important;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar-action-group > .ant-btn:not(:first-child) {
margin-left: 0 !important;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar-action-group > .ant-btn::before {
display: none !important;
}
body[data-ui-version="v2"] .gn-v2-query-transaction-commit-button {
display: inline-flex !important;
align-items: center;
gap: 6px;
/* 待提交事务用 warn 实心填充,刻意不跟随主题强调色:
它是需要用户显式决断的状态,与普通主操作同色时无法区分(回滚用 danger二者语义配对
原先是 accent-soft 底 + accent-2 文字,两者都是同一色系的淡色,实测文字对比极低。 */
border-color: var(--gn-warn) !important;
background: var(--gn-warn) !important;
color: var(--gn-on-warn, #17130a) !important;
font-weight: 750 !important;
transition: background-color 120ms ease, box-shadow 120ms ease, border-color 120ms ease !important;
}
body[data-ui-version="v2"] .gn-v2-query-transaction-commit-button:hover,
body[data-ui-version="v2"] .gn-v2-query-transaction-commit-button:focus,
body[data-ui-version="v2"] .gn-v2-query-transaction-commit-button:focus-visible {
border-color: var(--gn-warn-hover, var(--gn-warn)) !important;
background: var(--gn-warn-hover, var(--gn-warn)) !important;
color: var(--gn-on-warn, #17130a) !important;
box-shadow: var(--gn-shadow-sm), inset 0 0.5px 0 rgba(255, 255, 255, 0.15) !important;
}
body[data-ui-version="v2"] .gn-v2-query-transaction-commit-button:active {
border-color: var(--gn-warn-active, var(--gn-warn)) !important;
background: var(--gn-warn-active, var(--gn-warn)) !important;
color: var(--gn-on-warn, #17130a) !important;
box-shadow: none !important;
}
/* 待提交条数徽标:底色用白色半透明叠加而非硬编码绿色,文字用 on-warn。
原先底是 rgba(22,163,74,.18)、文字是 --gn-accent-2与按钮底色几乎同色
(实测对比度仅 1.101.17),静止状态下数字完全看不见,只有 hover 变暗后才显现。 */
body[data-ui-version="v2"] .gn-v2-query-transaction-commit-button .gn-v2-toolbar-kbd {
margin-left: 0;
min-width: 18px;
justify-content: center;
border: none;
background: var(--gn-warn-badge-bg, rgba(255, 255, 255, 0.35));
color: var(--gn-on-warn, #17130a);
}
body[data-ui-version="v2"] .gn-v2-query-transaction-commit-button:hover .gn-v2-toolbar-kbd,
body[data-ui-version="v2"] .gn-v2-query-transaction-commit-button:focus .gn-v2-toolbar-kbd,
body[data-ui-version="v2"] .gn-v2-query-transaction-commit-button:focus-visible .gn-v2-toolbar-kbd,
body[data-ui-version="v2"] .gn-v2-query-transaction-commit-button:active .gn-v2-toolbar-kbd {
background: var(--gn-warn-badge-bg, rgba(255, 255, 255, 0.42));
color: var(--gn-on-warn, #17130a);
}
body[data-ui-version="v2"] .gn-v2-query-toolbar-icon-action.ant-btn,
body[data-ui-version="v2"] .gn-v2-query-toolbar .ant-btn-icon-only {
width: 34px !important;
min-width: 34px !important;
padding: 0 !important;
flex: 0 0 34px;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar-menu-trigger {
display: inline-flex;
width: 34px;
min-width: 34px;
flex: 0 0 34px;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar-run-action.ant-btn {
min-width: 34px;
padding: 0 !important;
font-weight: 650 !important;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar-ai-action.ant-btn {
font-weight: 650 !important;
}
@media (max-width: 900px) {
body[data-ui-version="v2"] .gn-v2-query-toolbar-main {
width: max-content;
min-width: 100%;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar-selects {
max-width: none;
}
body[data-ui-version="v2"] .gn-v2-query-toolbar-actions {
justify-content: flex-start;
}
}
body[data-ui-version="v2"] .gn-v2-query-monaco-stage {
position: relative;
display: flex;
flex-direction: column;
min-height: 0;
overflow: hidden;
border-top: 0.5px solid var(--gn-br-1);
border-bottom: 0.5px solid var(--gn-br-1);
background: var(--gn-bg-panel);
}
body[data-ui-version="v2"] .gn-v2-query-monaco-stage:has(.monaco-editor .find-widget.visible:not(.hiddenEditor)) {
overflow: visible;
}
body[data-ui-version="v2"] .gn-v2-query-monaco-shell {
min-height: 0;
overflow: visible;
}
body[data-ui-version="v2"] .gn-v2-query-resizer {
height: 7px !important;
background: var(--gn-bg-panel-2) !important;
border-bottom: 0.5px solid var(--gn-br-1);
}
body[data-ui-version="v2"] .gn-v2-query-resizer:hover {
background: var(--gn-bg-hover) !important;
}
body[data-ui-version="v2"] .gn-v2-query-results {
background: var(--gn-bg-app);
}
body[data-ui-version="v2"] .gn-v2-query-results .query-result-tabs > .ant-tabs-nav {
background: var(--gn-bg-panel-2);
padding-left: 8px;
min-height: 38px;
}
body[data-ui-version="v2"] .gn-v2-query-results .query-result-tabs > .ant-tabs-nav .ant-tabs-extra-content {
display: inline-flex;
align-items: center;
padding-right: 8px;
}
body[data-ui-version="v2"] .gn-v2-query-results .query-result-tabs > .ant-tabs-nav .ant-tabs-tab {
width: auto !important;
min-width: 0 !important;
max-width: 148px !important;
height: 30px !important;
min-height: 30px;
margin: 4px 6px 4px 0 !important;
padding: 0 9px !important;
border: 0.5px solid var(--gn-br-1) !important;
border-radius: 999px !important;
background: color-mix(in srgb, var(--gn-bg-panel) 72%, transparent) !important;
color: var(--gn-fg-3) !important;
align-items: center !important;
justify-content: center !important;
font-size: 14px;
}
body[data-ui-version="v2"] .gn-v2-query-results .query-result-tabs > .ant-tabs-nav .ant-tabs-nav-list {
align-items: center;
width: auto;
}
body[data-ui-version="v2"] .gn-v2-query-results .query-result-tabs > .ant-tabs-nav .ant-tabs-tab-btn {
width: auto !important;
height: 100%;
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
font-size: 14px !important;
line-height: 1 !important;
}
body[data-ui-version="v2"] .gn-v2-query-results .query-result-tab-label {
height: 100%;
line-height: 1;
user-select: none;
-webkit-user-select: none;
}
body[data-ui-version="v2"] .gn-v2-query-results .query-result-tab-text {
font-size: 14px;
font-weight: 700;
}
body[data-ui-version="v2"] .gn-v2-query-results .query-result-tabs > .ant-tabs-nav .ant-tabs-tab:hover {
background: var(--gn-bg-hover) !important;
color: var(--gn-fg-1) !important;
}
body[data-ui-version="v2"] .gn-v2-query-results .query-result-tabs > .ant-tabs-nav .ant-tabs-tab.ant-tabs-tab-active {
border-color: color-mix(in srgb, var(--gn-accent) 38%, var(--gn-br-1)) !important;
background: color-mix(in srgb, var(--gn-accent) 10%, var(--gn-bg-panel)) !important;
color: var(--gn-fg-1) !important;
}
body[data-ui-version="v2"] .gn-v2-query-results .query-result-tabs > .ant-tabs-nav .ant-tabs-tab.ant-tabs-tab-active::after {
display: none;
}
body[data-ui-version="v2"] .gn-v2-query-results .query-result-tab-count {
background: color-mix(in srgb, var(--gn-accent) 12%, var(--gn-bg-active));
color: var(--gn-fg-2);
}
body[data-ui-version="v2"] .gn-v2-query-result-panel-header {
background: var(--gn-bg-panel-2);
border-bottom-color: var(--gn-br-1);
}
body[data-ui-version="v2"] .gn-v2-query-result-panel-header .query-result-panel-header-title {
color: var(--gn-fg-3);
}
body[data-ui-version="v2"] .gn-v2-query-empty,
body[data-ui-version="v2"] .gn-v2-query-success {
display: flex;
align-items: center;
justify-content: center;
color: var(--gn-fg-4) !important;
background: var(--gn-bg-app);
}
body[data-ui-version="v2"] .gn-v2-query-empty > div,
body[data-ui-version="v2"] .gn-v2-query-success > div {
display: flex;
flex-direction: column;
align-items: center;
gap: 6px;
padding: 18px;
text-align: center;
}
body[data-ui-version="v2"] .gn-v2-query-empty strong {
color: var(--gn-fg-1);
font-size: 13px;
}
body[data-ui-version="v2"] .gn-v2-query-empty span {
color: var(--gn-fg-4);
font-size: 12px;
}
body[data-ui-version="v2"] .gn-v2-query-error {
background: var(--gn-bg-panel) !important;
}
body[data-ui-version="v2"] .gn-v2-query-error .custom-scrollbar {
border-radius: 8px !important;
}
/* ─── V2 table designer ─ */
body[data-ui-version="v2"] .gn-v2-table-designer {
padding: 0 !important;
background: var(--gn-bg-app);
--gn-v2-designer-header-height: 40px;
--gn-v2-designer-header-padding: 0 8px;
--gn-v2-designer-cell-padding: 3px 8px;
--gn-v2-designer-selection-column-width: 44px;
--gn-v2-designer-row-selection-min-height: 14px;
--gn-v2-designer-content-font-size: 12px;
}
body[data-ui-version="v2"] .gn-v2-designer-tabs {
padding: 0 !important;
border: 0 !important;
border-radius: 0 !important;
background: var(--gn-bg-app) !important;
}
body[data-ui-version="v2"] .gn-v2-designer-tabs > .ant-tabs-nav {
padding: 0 10px;
background: var(--gn-bg-panel-2);
}
body[data-ui-version="v2"] .gn-v2-table-designer .gn-v2-designer-tabs {
background: var(--gn-bg-panel) !important;
}
body[data-ui-version="v2"] .gn-v2-table-designer .gn-v2-designer-tabs > .ant-tabs-nav {
padding: 0 12px !important;
min-height: 34px;
background: var(--gn-bg-panel) !important;
border-bottom: 0 !important;
box-shadow: none !important;
}
body[data-ui-version="v2"] .gn-v2-table-designer .gn-v2-designer-tabs > .ant-tabs-nav .ant-tabs-nav-list {
width: auto !important;
min-height: 34px;
gap: 0;
}
body[data-ui-version="v2"] .gn-v2-table-designer .gn-v2-designer-tabs > .ant-tabs-nav .ant-tabs-tab {
height: 34px;
min-height: 34px;
padding-inline: 12px !important;
border-right: 0 !important;
}
body[data-ui-version="v2"] .gn-v2-table-designer .gn-v2-designer-tabs > .ant-tabs-nav::before {
display: none !important;
}
body[data-ui-version="v2"] .gn-v2-designer-tabs .ant-tabs-content-holder {
padding: 10px;
}
body[data-ui-version="v2"] .gn-v2-table-designer .gn-v2-designer-tabs .ant-tabs-content-holder {
padding: 0 12px 12px !important;
border-top: 0 !important;
}
body[data-ui-version="v2"] .gn-v2-table-designer.is-embedded {
background: var(--gn-bg-panel) !important;
}
body[data-ui-version="v2"] .gn-v2-table-designer.is-embedded .gn-v2-designer-toolbar {
padding: 8px 12px 6px !important;
border-left: 0 !important;
border-right: 0 !important;
background: var(--gn-bg-panel) !important;
}
body[data-ui-version="v2"] .gn-v2-table-designer.is-embedded .gn-v2-designer-tabs {
background: var(--gn-bg-panel) !important;
}
body[data-ui-version="v2"] .gn-v2-table-designer.is-embedded .gn-v2-designer-tabs > .ant-tabs-nav {
padding: 0 12px !important;
min-height: 30px;
background: var(--gn-bg-panel) !important;
border-bottom: 0 !important;
box-shadow: none !important;
}
body[data-ui-version="v2"] .gn-v2-table-designer.is-embedded .gn-v2-designer-tabs > .ant-tabs-nav .ant-tabs-nav-list {
width: auto !important;
min-height: 30px;
gap: 0;
}
body[data-ui-version="v2"] .gn-v2-table-designer.is-embedded .gn-v2-designer-tabs > .ant-tabs-nav .ant-tabs-tab {
height: 30px;
min-height: 30px;
padding-inline: 10px !important;
border-right: 0 !important;
}
body[data-ui-version="v2"] .gn-v2-table-designer.is-embedded .gn-v2-designer-tabs > .ant-tabs-nav::before {
display: none !important;
}
body[data-ui-version="v2"] .gn-v2-table-designer.is-embedded .gn-v2-designer-tabs .ant-tabs-content-holder {
padding: 0 12px 12px !important;
border-top: 0 !important;
}
body[data-ui-version="v2"] .gn-v2-table-designer.is-embedded .gn-v2-designer-table-shell,
body[data-ui-version="v2"] .gn-v2-table-designer.is-embedded .gn-v2-designer-tab-content,
body[data-ui-version="v2"] .gn-v2-table-designer.is-embedded .gn-v2-designer-ddl-shell {
border-top: 0 !important;
border-left: 0 !important;
border-right: 0 !important;
border-bottom: 0 !important;
border-radius: 0 !important;
background: transparent !important;
}
body[data-ui-version="v2"] .gn-v2-table-designer.is-embedded .gn-v2-designer-actionbar {
padding-inline: 0 !important;
background: transparent !important;
}
body[data-ui-version="v2"] .gn-v2-table-designer .ant-table-thead > tr > th,
body[data-ui-version="v2"] .gn-v2-table-designer .ant-table-tbody > tr > td {
padding: var(--gn-v2-designer-cell-padding) !important;
}
body[data-ui-version="v2"] .gn-v2-table-designer .ant-table-thead > tr > th {
text-align: left !important;
font-size: var(--gn-v2-designer-content-font-size);
line-height: 1.1;
height: var(--gn-v2-designer-header-height);
min-height: var(--gn-v2-designer-header-height);
padding-top: 0 !important;
padding-bottom: 0 !important;
padding-left: 8px !important;
padding-right: 8px !important;
vertical-align: middle !important;
white-space: nowrap;
}
body[data-ui-version="v2"] .gn-v2-table-designer .ant-table-thead > tr > th .ant-table-column-title {
display: flex;
align-items: center;
justify-content: flex-start;
width: 100%;
min-height: var(--gn-v2-designer-header-height);
text-align: left !important;
}
body[data-ui-version="v2"] .gn-v2-table-designer .ant-table-thead > tr > th .ant-table-column-sorters {
min-height: var(--gn-v2-designer-header-height) !important;
align-items: center !important;
justify-content: flex-start !important;
}
body[data-ui-version="v2"] .gn-v2-table-designer .ant-table-thead > tr > th.ant-table-selection-column,
body[data-ui-version="v2"] .gn-v2-table-designer .ant-table-tbody > tr > td.ant-table-selection-column,
body[data-ui-version="v2"] .gn-v2-table-designer .table-designer-select-column {
width: var(--gn-v2-designer-selection-column-width) !important;
min-width: var(--gn-v2-designer-selection-column-width) !important;
max-width: var(--gn-v2-designer-selection-column-width) !important;
padding-inline: 0 !important;
padding-left: 0 !important;
padding-right: 0 !important;
}
body[data-ui-version="v2"] .gn-v2-table-designer .ant-table-thead > tr > th.ant-table-selection-column .ant-table-selection,
body[data-ui-version="v2"] .gn-v2-table-designer .ant-table-tbody > tr > td.ant-table-selection-column .ant-table-selection,
body[data-ui-version="v2"] .gn-v2-table-designer .table-designer-select-column .table-designer-select-check {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
min-height: var(--gn-v2-designer-row-selection-min-height);
}
body[data-ui-version="v2"] .gn-v2-table-designer .ant-table-thead > tr > th:first-child,
body[data-ui-version="v2"] .gn-v2-table-designer .ant-table-tbody > tr > td:first-child {
padding-inline: 0 !important;
}
body[data-ui-version="v2"] .gn-v2-table-designer .ant-table-tbody > tr > td {
vertical-align: middle !important;
}
body[data-ui-version="v2"] .gn-v2-table-designer .table-designer-cell-field .ant-input,
body[data-ui-version="v2"] .gn-v2-table-designer .table-designer-cell-field .ant-select-selection-item,
body[data-ui-version="v2"] .gn-v2-table-designer .table-designer-cell-field input {
font-size: var(--gn-v2-designer-content-font-size) !important;
}
body[data-ui-version="v2"] .gn-v2-table-designer .table-designer-cell-check .ant-checkbox {
transform: scale(0.92);
}
body[data-ui-version="v2"] .gn-v2-designer-table-shell,
body[data-ui-version="v2"] .gn-v2-designer-tab-content,
body[data-ui-version="v2"] .gn-v2-designer-ddl-shell {
border: 0.5px solid var(--gn-br-1) !important;
border-radius: 8px !important;
background: var(--gn-bg-panel) !important;
overflow: hidden;
}
body[data-ui-version="v2"] .gn-v2-designer-actionbar {
min-height: 36px;
padding: 8px;
align-items: center;
border-bottom: 0.5px solid var(--gn-br-1);
background: var(--gn-bg-panel-2);
}
body[data-ui-version="v2"] .gn-v2-designer-section-note {
padding: 0 2px;
color: var(--gn-fg-4) !important;
font-family: var(--gn-font-mono);
font-size: 11.5px !important;
}
body[data-ui-version="v2"] .gn-v2-designer-index-table .ant-tag {
font-size: 12px !important;
font-weight: 700 !important;
line-height: 18px !important;
padding: 1px 7px !important;
}
body[data-ui-version="v2"] .gn-v2-table-designer .ant-table-wrapper,
body[data-ui-version="v2"] .gn-v2-table-designer .ant-table-container {
border-radius: 0 !important;
}
/* ─── V2 Redis workbench ─ */
body[data-ui-version="v2"] .gn-v2-redis-workbench {
gap: 10px !important;
padding: 10px !important;
background: var(--gn-bg-app) !important;
}
body[data-ui-version="v2"] .gn-v2-redis-sidebar {
min-width: 320px !important;
gap: 10px !important;
}
body[data-ui-version="v2"] .gn-v2-redis-header,
body[data-ui-version="v2"] .gn-v2-redis-tree-card,
body[data-ui-version="v2"] .gn-v2-redis-value-header,
body[data-ui-version="v2"] .gn-v2-redis-value-card,
body[data-ui-version="v2"] .gn-v2-redis-empty-value {
border-radius: 8px !important;
border: 0.5px solid var(--gn-br-1) !important;
background: var(--gn-bg-panel) !important;
box-shadow: var(--gn-shadow-card) !important;
}
body[data-ui-version="v2"] .gn-v2-redis-header {
padding: 12px !important;
}
body[data-ui-version="v2"] .gn-v2-redis-toolbar {
align-items: center;
}
body[data-ui-version="v2"] .gn-v2-redis-tree-card {
padding: 8px !important;
}
body[data-ui-version="v2"] .gn-v2-redis-tree-shell {
border-radius: 7px !important;
border: 0.5px solid var(--gn-br-1) !important;
background: var(--gn-bg-panel-2) !important;
}
body[data-ui-version="v2"] .gn-v2-redis-workbench .ant-tree-checkbox {
margin-inline-end: 5px !important;
}
body[data-ui-version="v2"] .gn-v2-redis-value-pane {
min-width: 360px !important;
}
body[data-ui-version="v2"] .gn-v2-redis-value-layout {
gap: 10px !important;
}
body[data-ui-version="v2"] .gn-v2-redis-value-header {
padding: 14px !important;
}
body[data-ui-version="v2"] .gn-v2-redis-value-header strong {
font-family: var(--gn-font-mono);
font-size: 20px !important;
}
body[data-ui-version="v2"] .gn-v2-redis-value-actions,
body[data-ui-version="v2"] .gn-v2-redis-view-mode,
body[data-ui-version="v2"] .gn-v2-redis-value-subtoolbar,
body[data-ui-version="v2"] .gn-v2-redis-value-actionbar {
border-radius: 7px !important;
border: 0.5px solid var(--gn-br-1) !important;
background: var(--gn-bg-panel-2) !important;
}
body[data-ui-version="v2"] .gn-v2-redis-value-subtoolbar {
min-height: 30px;
border-width: 0 0 0.5px !important;
border-radius: 0 !important;
}
body[data-ui-version="v2"] .gn-v2-redis-value-actionbar {
padding: 8px !important;
margin-bottom: 0 !important;
border-bottom-left-radius: 0 !important;
border-bottom-right-radius: 0 !important;
}
body[data-ui-version="v2"] .gn-v2-redis-data-section .ant-table-wrapper {
flex: 1;
min-height: 0;
}
body[data-ui-version="v2"] .gn-v2-redis-context-menu {
width: 208px !important;
min-width: 188px !important;
padding: 6px !important;
}
/* ─── V2 Table Overview ─ */
.gn-table-overview {
container-name: gn-table-overview;
container-type: inline-size;
}
body[data-ui-version="v2"] .gn-v2-table-overview {
background: var(--gn-bg-app) !important;
}
body[data-ui-version="v2"] .gn-v2-table-overview-header {
min-height: 54px;
padding: 12px 16px !important;
background: var(--gn-bg-panel) !important;
border-bottom: 0.5px solid var(--gn-br-1);
}
body[data-ui-version="v2"] .gn-v2-table-overview-icon {
width: 28px;
height: 28px;
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 7px;
color: var(--gn-on-accent, #fff);
background: linear-gradient(135deg, var(--gn-accent) 0%, var(--gn-accent-2) 100%);
box-shadow: inset 0 0.5px 0 rgba(255,255,255,0.3);
}
body[data-ui-version="v2"] .gn-v2-table-overview-title {
color: var(--gn-fg-1) !important;
font-family: var(--gn-font-sans);
font-size: 14px !important;
font-weight: 700 !important;
letter-spacing: 0;
}
body[data-ui-version="v2"] .gn-v2-table-overview-summary {
color: var(--gn-fg-4) !important;
font-family: var(--gn-font-sans);
font-weight: 500;
}
.gn-table-overview-summary {
white-space: nowrap;
}
body[data-ui-version="v2"] .gn-v2-table-overview-summary strong {
color: var(--gn-fg-2);
font-family: var(--gn-font-mono);
font-weight: 600;
font-variant-numeric: tabular-nums;
}
@container gn-table-overview (max-width: 700px) {
.gn-table-overview-header {
gap: 8px !important;
}
.gn-table-overview-summary {
display: none;
}
}
body[data-ui-version="v2"] .gn-v2-table-overview-content {
padding: 14px 16px 20px !important;
background: var(--gn-bg-app);
}
body[data-ui-version="v2"] .gn-v2-table-overview-sections {
display: flex;
flex-direction: column;
gap: 0;
}
body[data-ui-version="v2"] .gn-v2-table-overview-section-title {
color: var(--gn-fg-4) !important;
font-family: var(--gn-font-mono);
font-size: var(--gn-font-size-xs, 10px) !important;
letter-spacing: 0;
text-transform: none;
}
body[data-ui-version="v2"] .gn-v2-table-overview-section-title span:last-child {
min-width: 18px;
height: 18px;
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 999px;
background: var(--gn-bg-active);
color: var(--gn-fg-3);
font-size: var(--gn-font-size-xs, 10px);
font-weight: 700;
}
body[data-ui-version="v2"] .gn-v2-table-card-grid {
grid-template-columns: repeat(auto-fill, minmax(232px, 1fr)) !important;
gap: 10px !important;
}
body[data-ui-version="v2"] .gn-v2-table-card,
body[data-ui-version="v2"] .gn-v2-table-row {
border: 0.5px solid var(--gn-br-2) !important;
border-radius: 8px !important;
background: var(--gn-bg-panel) !important;
box-shadow: var(--gn-shadow-card);
transition: background 0.08s, border-color 0.08s, box-shadow 0.08s;
}
body[data-ui-version="v2"] .gn-v2-table-card:hover,
body[data-ui-version="v2"] .gn-v2-table-row:hover {
background: var(--gn-bg-hover) !important;
border-color: color-mix(in srgb, var(--gn-accent) 45%, var(--gn-br-2)) !important;
box-shadow: var(--gn-shadow-md);
}
body[data-ui-version="v2"] .gn-v2-table-card-name span {
font-family: var(--gn-font-mono);
}
body[data-ui-version="v2"] .gn-v2-table-card-meta {
font-family: var(--gn-font-mono);
font-size: 11px !important;
}
body[data-ui-version="v2"] .gn-v2-table-size-bar {
height: 2px;
margin-top: 10px;
border-radius: 1px;
background: var(--gn-bg-active);
overflow: hidden;
}
body[data-ui-version="v2"] .gn-v2-table-size-bar span {
display: block;
height: 100%;
border-radius: inherit;
background: linear-gradient(90deg, var(--gn-accent) 0%, var(--gn-info) 100%);
}
body[data-ui-version="v2"] .gn-v2-table-row-list {
gap: 0 !important;
background: var(--gn-bg-panel);
border: 0.5px solid var(--gn-br-1);
border-radius: 8px;
overflow: hidden;
}
body[data-ui-version="v2"] .gn-v2-table-row {
border-width: 0 0 0.5px !important;
border-radius: 0 !important;
box-shadow: none !important;
}
body[data-ui-version="v2"] .gn-v2-table-row:last-child {
border-bottom: 0 !important;
}
.gn-table-overview-compact-scroll {
flex: 1 1 auto;
min-height: 0;
overflow: auto;
border: 1px solid rgba(15, 23, 42, 0.12);
border-radius: 6px;
background: #fff;
overscroll-behavior: contain;
}
.gn-table-overview-compact-header,
.gn-table-overview-compact-row {
grid-template-columns:
minmax(190px, 1.7fr)
minmax(170px, 1.4fr)
minmax(88px, 0.65fr)
minmax(104px, 0.75fr)
minmax(104px, 0.75fr)
minmax(100px, 0.75fr)
minmax(154px, 1.1fr)
minmax(154px, 1.1fr);
}
.gn-table-overview-compact-header {
position: sticky;
top: 0;
z-index: 2;
display: grid;
align-items: stretch;
min-width: 1120px;
min-height: 32px;
border-bottom: 1px solid rgba(15, 23, 42, 0.12);
background: #f7f8fa;
color: rgba(0, 0, 0, 0.62);
font-size: 11.5px;
}
.gn-table-overview-compact-header > [role="columnheader"] {
min-width: 0;
display: flex;
align-items: center;
border-right: 1px solid rgba(15, 23, 42, 0.08);
}
.gn-table-overview-compact-header > [role="columnheader"]:last-child {
border-right: 0;
}
.gn-table-overview-compact-section {
min-width: 1120px;
padding: 0 10px;
border-bottom: 1px solid rgba(15, 23, 42, 0.08);
background: #f9fafb;
}
.gn-table-overview-compact-section .gn-v2-table-overview-section-title {
margin: 0 !important;
min-height: 27px;
}
.gn-table-overview-compact-name,
.gn-table-overview-compact-cell {
min-width: 0;
overflow: hidden;
padding: 5px 10px;
font-size: 12px;
line-height: 21px;
text-overflow: ellipsis;
white-space: nowrap;
}
.gn-table-overview-compact-name {
display: flex;
align-items: center;
gap: 7px;
font-weight: 600;
}
.gn-table-overview-compact-name .anticon {
flex: 0 0 auto;
color: #1677ff;
}
.gn-table-overview-compact-number {
text-align: right;
font-variant-numeric: tabular-nums;
}
.gn-table-overview-compact-row:hover {
background: rgba(22, 119, 255, 0.06) !important;
}
body[data-ui-version="legacy"][data-theme="dark"] .gn-table-overview-compact-scroll {
border-color: rgba(255, 255, 255, 0.14);
background: #141414;
}
body[data-ui-version="legacy"][data-theme="dark"] .gn-table-overview-compact-header {
border-bottom-color: rgba(255, 255, 255, 0.14);
background: #1f1f1f;
color: rgba(255, 255, 255, 0.65);
}
body[data-ui-version="legacy"][data-theme="dark"] .gn-table-overview-compact-header > [role="columnheader"] {
border-right-color: rgba(255, 255, 255, 0.1);
}
body[data-ui-version="legacy"][data-theme="dark"] .gn-table-overview-compact-section {
border-bottom-color: rgba(255, 255, 255, 0.1);
background: #1f1f1f;
}
body[data-ui-version="legacy"][data-theme="dark"] .gn-table-overview-compact-sort-button:hover {
background: rgba(255, 255, 255, 0.08) !important;
}
body[data-ui-version="legacy"][data-theme="dark"] .gn-table-overview-compact-row:hover {
background: rgba(22, 119, 255, 0.16) !important;
}
body[data-ui-version="v2"] .gn-table-overview-compact-scroll {
border-width: 0.5px;
border-color: var(--gn-br-2);
background: var(--gn-bg-panel);
}
body[data-ui-version="v2"] .gn-table-overview-compact-header {
min-height: 30px;
border-bottom-width: 0.5px;
border-bottom-color: var(--gn-br-2);
background: var(--gn-bg-panel-2);
color: var(--gn-fg-3);
font-family: var(--gn-font-mono);
}
body[data-ui-version="v2"] .gn-table-overview-compact-header > [role="columnheader"] {
border-right-width: 0.5px;
border-right-color: var(--gn-br-1);
}
body[data-ui-version="v2"] .gn-table-overview-compact-sort-button:hover {
background: var(--gn-bg-hover) !important;
}
body[data-ui-version="v2"] .gn-table-overview-compact-section {
border-bottom-width: 0.5px;
border-bottom-color: var(--gn-br-1);
background: var(--gn-bg-panel-2);
}
body[data-ui-version="v2"] .gn-table-overview-compact-row {
min-height: 30px !important;
border-bottom-width: 0.5px !important;
border-bottom-color: var(--gn-br-1) !important;
background: var(--gn-bg-panel) !important;
color: var(--gn-fg-1) !important;
font-family: var(--gn-font-mono);
}
body[data-ui-version="v2"] .gn-table-overview-compact-row:hover {
background: var(--gn-bg-hover) !important;
}
body[data-ui-version="v2"] .gn-table-overview-compact-name,
body[data-ui-version="v2"] .gn-table-overview-compact-cell {
padding-top: 4px;
padding-bottom: 4px;
font-size: 11.5px;
line-height: 21px;
}
body[data-ui-version="v2"] .gn-table-overview-compact-name .anticon {
color: var(--gn-accent);
}
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find {
display: inline-flex !important;
align-items: center !important;
height: 28px !important;
min-height: 28px !important;
}
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-row {
display: grid !important;
grid-template-columns: 180px 28px !important;
align-items: stretch !important;
column-gap: 4px !important;
height: 28px !important;
min-height: 28px !important;
}
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-field,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-autocomplete,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-autocomplete .ant-select,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-field .ant-input-affix-wrapper {
width: 180px !important;
min-width: 180px !important;
height: 28px !important;
min-height: 28px !important;
box-sizing: border-box !important;
}
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-field,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-autocomplete,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-autocomplete .ant-select {
display: flex !important;
align-items: stretch !important;
}
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-field .ant-input-affix-wrapper {
display: flex !important;
align-items: center !important;
line-height: 28px !important;
padding-top: 0 !important;
padding-bottom: 0 !important;
}
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-submit.ant-btn {
width: 28px !important;
min-width: 28px !important;
max-width: 28px !important;
height: 28px !important;
min-height: 28px !important;
margin: 0 !important;
padding: 0 !important;
align-self: stretch !important;
justify-self: stretch !important;
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
line-height: 1 !important;
vertical-align: top !important;
box-sizing: border-box !important;
}
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-submit.ant-btn > span,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-submit.ant-btn .ant-btn-icon,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-submit.ant-btn .anticon {
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
width: 100% !important;
height: 100% !important;
line-height: 1 !important;
}
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-submit.ant-btn .anticon svg {
display: block !important;
}
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-submit.ant-btn:focus,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-submit.ant-btn:focus-visible,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-submit.ant-btn:active {
box-shadow: none !important;
outline: none !important;
}
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-submit.ant-btn::after {
display: none !important;
}
body[data-ui-version="v2"] .gn-v2-data-grid-page-find {
gap: 2px !important;
}
body[data-ui-version="v2"] .gn-v2-data-grid-page-find .ant-input-prefix,
body[data-ui-version="v2"] .gn-v2-data-grid-page-find .ant-input-suffix {
display: inline-flex !important;
align-items: center !important;
}
body[data-ui-version="v2"] .gn-v2-data-grid-page-find .ant-input-prefix {
margin-inline-end: 6px !important;
}
body[data-ui-version="v2"] .gn-v2-data-grid-page-find .ant-input,
body[data-ui-version="v2"] .gn-v2-data-grid-page-find .ant-input::placeholder {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}