fix(canvas): 画布创作交互 - 优化提示词面板并修复工具弹窗与节点缩放卡顿
This commit is contained in:
@@ -1504,45 +1504,285 @@
|
||||
display: none;
|
||||
}
|
||||
|
||||
.canvas-composer-tools .canvas-composer-model-picker.ant-select {
|
||||
.canvas-composer-tools .canvas-composer-model-picker {
|
||||
width: 32px;
|
||||
min-width: 32px;
|
||||
}
|
||||
|
||||
.canvas-composer-tools .canvas-composer-model-picker .ant-select-content {
|
||||
.canvas-composer-tools .canvas-composer-model-picker {
|
||||
padding-inline: 7px !important;
|
||||
}
|
||||
|
||||
.canvas-composer-tools .canvas-composer-model-picker .ant-select-content,
|
||||
.canvas-composer-tools .canvas-model-picker-label {
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.canvas-model-picker-popup .ant-select-item-option-content {
|
||||
overflow: visible;
|
||||
.canvas-composer-model-picker {
|
||||
align-items: center;
|
||||
appearance: none;
|
||||
background: color-mix(in srgb, var(--workspace-surface-strong) 94%, var(--workspace-accent) 6%);
|
||||
border: 0;
|
||||
border-radius: 9px;
|
||||
color: var(--foreground);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
font: inherit;
|
||||
gap: 8px;
|
||||
height: 32px;
|
||||
justify-content: space-between;
|
||||
line-height: 1;
|
||||
max-width: 100%;
|
||||
min-width: 0;
|
||||
outline: none !important;
|
||||
padding: 0 9px;
|
||||
text-align: left;
|
||||
transition: background-color var(--motion-instant) ease-out, color var(--motion-instant) ease-out;
|
||||
}
|
||||
|
||||
.canvas-composer-model-picker.ant-select .ant-select-content {
|
||||
background: var(--background) !important;
|
||||
border-color: color-mix(in srgb, var(--foreground) 8%, transparent) !important;
|
||||
box-shadow: none !important;
|
||||
.canvas-composer-model-picker:hover {
|
||||
background: color-mix(in srgb, var(--workspace-surface-strong) 88%, var(--workspace-accent) 12%);
|
||||
}
|
||||
|
||||
.dark .canvas-composer-model-picker.ant-select,
|
||||
.dark .canvas-composer-model-picker.ant-select .ant-select-content,
|
||||
.dark .canvas-model-picker-popup.ant-select-dropdown {
|
||||
background: #000 !important;
|
||||
}
|
||||
|
||||
.canvas-composer-model-picker.ant-select-focused .ant-select-content {
|
||||
border-color: color-mix(in srgb, var(--foreground) 8%, transparent) !important;
|
||||
.canvas-composer-model-picker:focus,
|
||||
.canvas-composer-model-picker:focus-visible,
|
||||
.canvas-composer-model-picker[aria-expanded="true"] {
|
||||
background: color-mix(in srgb, var(--workspace-surface-strong) 84%, var(--workspace-accent) 16%);
|
||||
box-shadow: none !important;
|
||||
outline: none !important;
|
||||
}
|
||||
|
||||
.canvas-model-picker-popup .ant-select-item-option-active:not(.ant-select-item-option-disabled),
|
||||
.canvas-model-picker-popup .ant-select-item-option-selected:not(.ant-select-item-option-disabled) {
|
||||
background: color-mix(in srgb, var(--foreground) 6%, transparent) !important;
|
||||
.canvas-model-picker-label {
|
||||
flex: 1 1 auto;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.canvas-model-picker-trigger-icon {
|
||||
align-items: center;
|
||||
border-radius: 6px;
|
||||
display: inline-flex;
|
||||
flex: 0 0 22px;
|
||||
height: 22px;
|
||||
justify-content: center;
|
||||
width: 22px;
|
||||
}
|
||||
|
||||
.canvas-model-picker-chevron {
|
||||
color: color-mix(in srgb, var(--foreground) 52%, transparent);
|
||||
flex: 0 0 14px;
|
||||
height: 14px;
|
||||
transition: transform var(--motion-instant) ease-out;
|
||||
width: 14px;
|
||||
}
|
||||
|
||||
.canvas-model-picker-chevron.is-open {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
|
||||
.canvas-model-picker-popover,
|
||||
.canvas-preset-picker-popover {
|
||||
filter: none !important;
|
||||
}
|
||||
|
||||
.canvas-composer-popover-surface {
|
||||
border: 0 !important;
|
||||
border-radius: 10px !important;
|
||||
background: var(--workspace-surface-strong) !important;
|
||||
box-shadow: 0 14px 38px rgba(0, 0, 0, 0.22) !important;
|
||||
overflow: hidden;
|
||||
padding: 0 !important;
|
||||
backdrop-filter: blur(22px) saturate(118%);
|
||||
-webkit-backdrop-filter: blur(22px) saturate(118%);
|
||||
}
|
||||
|
||||
.dark .canvas-composer-popover-surface {
|
||||
box-shadow: 0 16px 40px rgba(0, 0, 0, 0.34) !important;
|
||||
}
|
||||
|
||||
.canvas-composer-popover-content {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
.canvas-model-picker-menu {
|
||||
max-height: min(420px, calc(100vh - 32px));
|
||||
overflow-y: auto;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
.canvas-model-picker-group + .canvas-model-picker-group {
|
||||
border-top: 1px solid var(--workspace-border);
|
||||
margin-top: 5px;
|
||||
padding-top: 5px;
|
||||
}
|
||||
|
||||
.canvas-model-picker-group-label {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
font-size: 10px;
|
||||
font-weight: 600;
|
||||
gap: 6px;
|
||||
letter-spacing: 0.02em;
|
||||
padding: 5px 7px 4px;
|
||||
}
|
||||
|
||||
.canvas-model-picker-option {
|
||||
align-items: center;
|
||||
border: 0;
|
||||
border-radius: 7px;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
min-height: 44px;
|
||||
outline: none;
|
||||
padding: 6px 7px;
|
||||
text-align: left;
|
||||
transition: background-color var(--motion-instant) ease-out;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.canvas-model-picker-option:hover {
|
||||
background: color-mix(in srgb, var(--workspace-accent) 9%, transparent) !important;
|
||||
}
|
||||
|
||||
.canvas-model-picker-option:focus-visible {
|
||||
background: color-mix(in srgb, var(--workspace-accent) 13%, transparent) !important;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.canvas-model-picker-option > span:first-child {
|
||||
flex: 1 1 auto;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.canvas-model-picker-option-check {
|
||||
flex: 0 0 14px;
|
||||
height: 14px;
|
||||
width: 14px;
|
||||
}
|
||||
|
||||
.canvas-model-picker-empty {
|
||||
font-size: 11px;
|
||||
padding: 22px 12px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.canvas-preset-picker-trigger:focus-visible,
|
||||
.canvas-preset-picker-trigger[aria-expanded="true"] {
|
||||
background: color-mix(in srgb, var(--workspace-accent) 18%, transparent) !important;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.canvas-preset-picker-trigger {
|
||||
cursor: pointer;
|
||||
transition: background-color var(--motion-instant) ease-out, color var(--motion-instant) ease-out, transform 90ms ease-out;
|
||||
}
|
||||
|
||||
.canvas-preset-picker-trigger:active {
|
||||
transform: scale(0.97);
|
||||
}
|
||||
|
||||
.canvas-generation-settings-trigger.ant-btn {
|
||||
background: color-mix(in srgb, var(--workspace-surface-strong) 94%, var(--workspace-accent) 6%) !important;
|
||||
border: 0 !important;
|
||||
color: var(--foreground) !important;
|
||||
cursor: pointer;
|
||||
transition: background-color var(--motion-instant) ease-out, color var(--motion-instant) ease-out, transform 90ms ease-out;
|
||||
}
|
||||
|
||||
.canvas-generation-settings-trigger.ant-btn:hover,
|
||||
.canvas-generation-settings-trigger.ant-btn:focus-visible,
|
||||
.canvas-generation-settings-trigger.ant-btn[aria-expanded="true"] {
|
||||
background: color-mix(in srgb, var(--workspace-surface-strong) 86%, var(--workspace-accent) 14%) !important;
|
||||
box-shadow: none !important;
|
||||
outline: none !important;
|
||||
}
|
||||
|
||||
.canvas-generation-settings-trigger.ant-btn .ant-btn-icon {
|
||||
color: color-mix(in srgb, var(--workspace-accent) 72%, var(--foreground));
|
||||
}
|
||||
|
||||
html:not(.dark) .canvas-composer-model-picker,
|
||||
html:not(.dark) .canvas-generation-settings-trigger.ant-btn {
|
||||
background: rgba(15, 23, 42, 0.045) !important;
|
||||
color: #1f2937 !important;
|
||||
}
|
||||
|
||||
html:not(.dark) .canvas-composer-model-picker:hover,
|
||||
html:not(.dark) .canvas-composer-model-picker[aria-expanded="true"],
|
||||
html:not(.dark) .canvas-generation-settings-trigger.ant-btn:hover,
|
||||
html:not(.dark) .canvas-generation-settings-trigger.ant-btn:focus-visible,
|
||||
html:not(.dark) .canvas-generation-settings-trigger.ant-btn[aria-expanded="true"] {
|
||||
background: rgba(15, 23, 42, 0.075) !important;
|
||||
}
|
||||
|
||||
html:not(.dark) .canvas-generation-cost-badge {
|
||||
background: rgba(79, 110, 232, 0.09) !important;
|
||||
color: #4f6ee8 !important;
|
||||
}
|
||||
|
||||
.canvas-preset-picker-menu {
|
||||
padding: 6px;
|
||||
}
|
||||
|
||||
.canvas-preset-picker-search.ant-input-affix-wrapper {
|
||||
border: 0 !important;
|
||||
border-radius: 8px;
|
||||
background: color-mix(in srgb, var(--workspace-accent) 7%, transparent) !important;
|
||||
box-shadow: none !important;
|
||||
color: color-mix(in srgb, var(--foreground) 66%, transparent);
|
||||
height: 32px;
|
||||
padding-inline: 9px;
|
||||
}
|
||||
|
||||
.canvas-preset-picker-search.ant-input-affix-wrapper:focus,
|
||||
.canvas-preset-picker-search.ant-input-affix-wrapper:focus-within {
|
||||
background: color-mix(in srgb, var(--workspace-accent) 11%, transparent) !important;
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
.canvas-preset-picker-option {
|
||||
align-items: center;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
border-radius: 7px;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
gap: 9px;
|
||||
min-height: 48px;
|
||||
outline: none;
|
||||
padding: 6px 8px;
|
||||
text-align: left;
|
||||
transition: background-color var(--motion-instant) ease-out;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.canvas-preset-picker-option:hover,
|
||||
.canvas-preset-picker-option:focus-visible {
|
||||
background: color-mix(in srgb, var(--workspace-accent) 9%, transparent);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.canvas-preset-picker-option-icon {
|
||||
align-items: center;
|
||||
border-radius: 7px;
|
||||
display: inline-flex;
|
||||
flex: 0 0 28px;
|
||||
height: 28px;
|
||||
justify-content: center;
|
||||
width: 28px;
|
||||
}
|
||||
|
||||
body.app-spatial-overlays .canvas-composer-popover-surface {
|
||||
border: 0 !important;
|
||||
background: var(--workspace-surface-strong) !important;
|
||||
}
|
||||
|
||||
html:not(.dark) body.app-spatial-overlays .canvas-composer-popover-surface {
|
||||
background: #ffffff !important;
|
||||
box-shadow: 0 14px 34px rgba(15, 23, 42, 0.13) !important;
|
||||
}
|
||||
|
||||
.dark body.app-spatial-overlays .canvas-composer-popover-surface {
|
||||
box-shadow: 0 16px 40px rgba(0, 0, 0, 0.3) !important;
|
||||
}
|
||||
|
||||
.agent-text-model-select .ant-select-content {
|
||||
@@ -1576,12 +1816,12 @@
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.canvas-composer-tools .canvas-composer-model-picker.ant-select {
|
||||
.canvas-composer-tools .canvas-composer-model-picker {
|
||||
width: auto;
|
||||
min-width: 9rem;
|
||||
}
|
||||
|
||||
.canvas-composer-tools .canvas-composer-model-picker .ant-select-content {
|
||||
.canvas-composer-tools .canvas-composer-model-picker {
|
||||
padding-inline: 10px !important;
|
||||
}
|
||||
|
||||
@@ -1645,15 +1885,13 @@
|
||||
content: "";
|
||||
}
|
||||
|
||||
.canvas-floating-dock,
|
||||
.canvas-node-toolbar {
|
||||
.canvas-floating-dock {
|
||||
box-shadow:
|
||||
0 1px 2px rgba(15, 23, 42, 0.06),
|
||||
0 10px 26px rgba(15, 23, 42, 0.08);
|
||||
}
|
||||
|
||||
.dark .canvas-floating-dock,
|
||||
.dark .canvas-node-toolbar {
|
||||
.dark .canvas-floating-dock {
|
||||
box-shadow:
|
||||
0 1px 1px rgba(0, 0, 0, 0.28),
|
||||
0 12px 28px rgba(0, 0, 0, 0.3);
|
||||
|
||||
Reference in New Issue
Block a user