feat(assets): 素材库与画布 - 新增可交互通用文件夹
This commit is contained in:
@@ -144,6 +144,16 @@
|
||||
--canvas-icon-surface: #ffffff;
|
||||
--canvas-icon-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
|
||||
|
||||
/* 画布文件夹:由现有画布语义色派生,封面样式不脱离主题合同。 */
|
||||
--canvas-folder-surface: color-mix(in srgb, var(--background) 76%, transparent);
|
||||
--canvas-folder-surface-strong: color-mix(in srgb, var(--background) 90%, transparent);
|
||||
--canvas-folder-edge: color-mix(in srgb, var(--background) 72%, var(--foreground) 28%);
|
||||
--canvas-folder-ink: var(--foreground);
|
||||
--canvas-folder-muted: color-mix(in srgb, var(--foreground) 52%, transparent);
|
||||
--canvas-folder-action-bg: var(--btn-solid-bg);
|
||||
--canvas-folder-action-fg: var(--btn-solid-fg);
|
||||
--canvas-folder-shadow: var(--elevation-overlay);
|
||||
|
||||
/* 媒体区背景 */
|
||||
--media-surface: #f5f5f5;
|
||||
|
||||
@@ -626,6 +636,14 @@
|
||||
--canvas-icon-surface: #0d0d0d;
|
||||
--canvas-icon-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
|
||||
|
||||
--canvas-folder-surface: color-mix(in srgb, var(--workspace-surface-strong) 78%, transparent);
|
||||
--canvas-folder-surface-strong: color-mix(in srgb, var(--workspace-surface-strong) 92%, transparent);
|
||||
--canvas-folder-edge: color-mix(in srgb, var(--foreground) 22%, transparent);
|
||||
--canvas-folder-ink: var(--foreground);
|
||||
--canvas-folder-muted: color-mix(in srgb, var(--foreground) 54%, transparent);
|
||||
--canvas-folder-action-bg: var(--primary);
|
||||
--canvas-folder-action-fg: var(--primary-foreground);
|
||||
|
||||
--media-surface: #171717;
|
||||
|
||||
--skeleton-surface: linear-gradient(
|
||||
@@ -4289,6 +4307,26 @@
|
||||
.assets-library-page .library-create-card { padding-bottom: var(--space-4); }
|
||||
.project-assets-grid { align-items: start; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; }
|
||||
.project-assets-grid > .asset-library-card { min-height: 0; height: auto; }
|
||||
.project-assets-layout { grid-template-columns: 196px minmax(0, 1fr); }
|
||||
.project-asset-folder-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--space-4); }
|
||||
.project-asset-folder-card { position: relative; min-width: 0; cursor: pointer; border: 0; border-radius: var(--r-xl); background: transparent; color: var(--foreground); padding: 0; transition: transform var(--motion-state) var(--motion-ease-out); }
|
||||
.project-asset-folder-card:hover, .project-asset-folder-card:focus-within { transform: translateY(var(--library-hover-offset)); }
|
||||
.project-asset-folder-card:focus-visible { outline: 2px solid var(--ring); outline-offset: var(--space-half); }
|
||||
.project-asset-folder-open { position: absolute; z-index: 2; inset: 0; border: 0; border-radius: inherit; background: transparent; }
|
||||
.project-asset-folder-open:focus-visible { outline: 2px solid var(--ring); outline-offset: var(--space-half); }
|
||||
.project-asset-folder-visual { position: relative; height: 204px; overflow: visible; pointer-events: none; }
|
||||
.project-asset-folder-visual > .canvas-folder-preview { position: absolute; top: 0; left: 50%; width: 360px; height: 280px; transform: translateX(-50%) scale(.68); transform-origin: top center; }
|
||||
.project-asset-folder-card:hover .project-asset-folder-visual > .canvas-folder-preview { transform: translateX(-50%) translateY(-2px) scale(.68); }
|
||||
.project-asset-folder-card:hover .canvas-folder-preview:not(.canvas-folder-preview-compact) .canvas-folder-front { transform: translateY(var(--space-1)); }
|
||||
.project-asset-folder-card:hover .canvas-folder-front-media > img, .project-asset-folder-card:hover .canvas-folder-front-media > video { filter: blur(16px) saturate(.86); transform: scale(1.14); }
|
||||
.project-asset-folder-card:hover .canvas-folder-preview:is(.canvas-folder-preview-stacked, .canvas-folder-preview-paper, .canvas-folder-preview-compact) .canvas-folder-preview-card-1 { transform: translate(-8px, -10px) rotate(-8deg); }
|
||||
.project-asset-folder-card:hover .canvas-folder-preview:is(.canvas-folder-preview-stacked, .canvas-folder-preview-paper, .canvas-folder-preview-compact) .canvas-folder-preview-card-2 { transform: translate(10px, -12px) rotate(8deg); }
|
||||
.project-asset-folder-card:hover .canvas-folder-preview:is(.canvas-folder-preview-stacked, .canvas-folder-preview-paper, .canvas-folder-preview-compact) .canvas-folder-preview-card-3 { transform: translateY(-20px); }
|
||||
.project-asset-folder-card-footer { display: flex; min-height: var(--space-8); align-items: center; justify-content: space-between; gap: var(--space-2); padding: 0 var(--space-2); color: color-mix(in srgb, var(--foreground) 46%, transparent); font-size: var(--fs-label); }
|
||||
.project-asset-folder-menu { position: relative; z-index: 3; display: grid; width: var(--space-8); height: var(--space-8); place-items: center; border: 0; border-radius: var(--r-md); background: transparent; color: inherit; opacity: 0; transition: background-color var(--motion-instant) ease-out, color var(--motion-instant) ease-out, opacity var(--motion-instant) ease-out; }
|
||||
.project-asset-folder-card:hover .project-asset-folder-menu, .project-asset-folder-card:focus-within .project-asset-folder-menu { opacity: 1; }
|
||||
.project-asset-folder-menu:hover { background: var(--surface-hover); color: var(--foreground); }
|
||||
.project-asset-folder-menu:focus-visible { outline: 2px solid var(--ring); outline-offset: 1px; opacity: 1; }
|
||||
.asset-library-card { overflow: hidden; }
|
||||
.asset-library-card > div:first-child { border-radius: var(--r-2xl) var(--r-2xl) 0 0; background: var(--library-cover-surface); }
|
||||
.asset-library-card > button:last-child { padding-inline: 2px; }
|
||||
@@ -4315,6 +4353,17 @@
|
||||
.project-asset-preview-meta { margin-top: 7px; color: color-mix(in srgb, var(--foreground) 46%, transparent); font-size: var(--fs-caption); }
|
||||
.project-asset-preview-sections { display: grid; gap: 15px; margin-top: 24px; }
|
||||
.project-asset-preview-sections section { min-width: 0; }
|
||||
|
||||
@media (max-width: 900px) {
|
||||
.project-assets-layout { grid-template-columns: 1fr; }
|
||||
.project-assets-layout > nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 260px; overflow-y: auto; padding-right: 0; }
|
||||
.project-assets-layout > nav > div:first-child, .project-assets-layout > nav > div:nth-last-of-type(2) { grid-column: 1 / -1; }
|
||||
}
|
||||
|
||||
@media (max-width: 640px) {
|
||||
.project-asset-folder-grid { grid-template-columns: 1fr; }
|
||||
.project-asset-folder-menu { opacity: 1; }
|
||||
}
|
||||
.project-asset-preview-sections section > span { color: color-mix(in srgb, var(--foreground) 42%, transparent); font-size: var(--fs-label); }
|
||||
.project-asset-preview-sections section > p { margin-top: 5px; color: color-mix(in srgb, var(--foreground) 74%, transparent); font-size: var(--fs-body); line-height: 1.6; }
|
||||
.project-asset-preview-status { margin-top: 4px; color: color-mix(in srgb, var(--foreground) 52%, transparent); font-size: var(--fs-caption); }
|
||||
@@ -4672,6 +4721,8 @@
|
||||
.style-center-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
|
||||
grid-auto-rows: max-content;
|
||||
align-content: start;
|
||||
gap: var(--space-3);
|
||||
overscroll-behavior: contain;
|
||||
}
|
||||
@@ -4721,7 +4772,8 @@
|
||||
.style-center-card-cover {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: clamp(150px, 14vw, 220px);
|
||||
height: auto;
|
||||
aspect-ratio: 16 / 9;
|
||||
flex: 0 0 auto;
|
||||
background: color-mix(in srgb, var(--foreground) 5%, transparent);
|
||||
}
|
||||
@@ -5954,10 +6006,325 @@
|
||||
}
|
||||
|
||||
.canvas-node-shell,
|
||||
.canvas-frame-shell {
|
||||
.canvas-frame-shell,
|
||||
.canvas-folder-shell {
|
||||
transition:
|
||||
box-shadow var(--motion-state) var(--ease-aceternity),
|
||||
background-color var(--motion-state) var(--ease-aceternity);
|
||||
background-color var(--motion-state) var(--ease-aceternity),
|
||||
transform var(--motion-state) var(--ease-aceternity);
|
||||
}
|
||||
|
||||
.canvas-folder-shell {
|
||||
border: 0;
|
||||
background: transparent;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.canvas-folder-preview {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
isolation: isolate;
|
||||
color: var(--canvas-folder-ink);
|
||||
filter: drop-shadow(0 22px 22px color-mix(in srgb, var(--cn-spatial-shadow) 52%, transparent));
|
||||
transition: filter var(--motion-state) var(--motion-ease-out), transform var(--motion-state) var(--motion-ease-out);
|
||||
}
|
||||
|
||||
.canvas-folder-preview:hover,
|
||||
.canvas-folder-preview.is-drop-target {
|
||||
filter: drop-shadow(0 28px 28px color-mix(in srgb, var(--cn-spatial-shadow) 66%, transparent));
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.canvas-folder-node:focus-visible {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.canvas-folder-node:focus-visible .canvas-folder-preview::after {
|
||||
position: absolute;
|
||||
z-index: 10;
|
||||
inset: -4px;
|
||||
border: 2px solid var(--cn-active-stroke);
|
||||
border-radius: var(--r-5xl);
|
||||
content: "";
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.canvas-folder-preview.is-active::after {
|
||||
position: absolute;
|
||||
z-index: 10;
|
||||
inset: -4px;
|
||||
border: 2px solid var(--cn-active-stroke);
|
||||
border-radius: var(--r-5xl);
|
||||
content: "";
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.canvas-folder-back,
|
||||
.canvas-folder-front,
|
||||
.canvas-folder-preview-card {
|
||||
position: absolute;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.canvas-folder-back {
|
||||
z-index: 1;
|
||||
inset: 0;
|
||||
border-radius: var(--r-5xl);
|
||||
background: var(--canvas-folder-surface-strong);
|
||||
box-shadow: inset 0 0 0 2px var(--canvas-folder-edge);
|
||||
clip-path: path("M 28 40 H 142 C 158 40 169 34 180 23 L 198 7 C 204 2 213 0 222 0 H 332 C 348 0 360 12 360 28 V 252 C 360 268 348 280 332 280 H 28 C 12 280 0 268 0 252 V 68 C 0 52 12 40 28 40 Z");
|
||||
}
|
||||
|
||||
.canvas-folder-back > img,
|
||||
.canvas-folder-back > video,
|
||||
.canvas-folder-front-media > img,
|
||||
.canvas-folder-front-media > video,
|
||||
.canvas-folder-preview-card > img,
|
||||
.canvas-folder-preview-card > video {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.canvas-folder-preview-stack {
|
||||
position: absolute;
|
||||
z-index: 2;
|
||||
inset: 0;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.canvas-folder-preview-card {
|
||||
top: 20px;
|
||||
width: 230px;
|
||||
height: 185px;
|
||||
border-radius: var(--r-4xl);
|
||||
background: var(--canvas-folder-surface-strong);
|
||||
box-shadow: inset 0 0 0 2px var(--canvas-folder-edge), 0 12px 28px color-mix(in srgb, var(--cn-spatial-shadow) 32%, transparent);
|
||||
transition: transform var(--motion-state) var(--motion-ease-out);
|
||||
}
|
||||
|
||||
.canvas-folder-preview-card-1 { left: 22px; transform: rotate(-4deg); }
|
||||
.canvas-folder-preview-card-2 { right: 20px; transform: translateY(12px) rotate(4deg); }
|
||||
.canvas-folder-preview-card-3 { left: 82px; transform: translateY(-8px); }
|
||||
|
||||
.canvas-folder-preview:is(.canvas-folder-preview-stacked, .canvas-folder-preview-paper, .canvas-folder-preview-compact):hover .canvas-folder-preview-card-1 {
|
||||
transform: translate(-8px, -10px) rotate(-8deg);
|
||||
}
|
||||
|
||||
.canvas-folder-preview:is(.canvas-folder-preview-stacked, .canvas-folder-preview-paper, .canvas-folder-preview-compact):hover .canvas-folder-preview-card-2 {
|
||||
transform: translate(10px, -12px) rotate(8deg);
|
||||
}
|
||||
|
||||
.canvas-folder-preview:is(.canvas-folder-preview-stacked, .canvas-folder-preview-paper, .canvas-folder-preview-compact):hover .canvas-folder-preview-card-3 {
|
||||
transform: translateY(-20px);
|
||||
}
|
||||
|
||||
.canvas-folder-front {
|
||||
z-index: 4;
|
||||
inset: 0;
|
||||
border-radius: var(--r-5xl);
|
||||
box-shadow: inset 0 0 0 2px var(--canvas-folder-edge);
|
||||
clip-path: path("M 28 58 H 112 C 126 58 135 62 144 70 L 174 96 C 182 104 191 108 204 108 H 332 C 348 108 360 120 360 136 V 252 C 360 268 348 280 332 280 H 28 C 12 280 0 268 0 252 V 86 C 0 70 12 58 28 58 Z");
|
||||
backdrop-filter: blur(24px) saturate(118%);
|
||||
transition: transform var(--motion-state) var(--motion-ease-out);
|
||||
}
|
||||
|
||||
.canvas-folder-front-media,
|
||||
.canvas-folder-front-tint {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
}
|
||||
|
||||
.canvas-folder-front-media {
|
||||
opacity: .58;
|
||||
}
|
||||
|
||||
.canvas-folder-front-media > img,
|
||||
.canvas-folder-front-media > video {
|
||||
filter: blur(22px) saturate(.72);
|
||||
transform: scale(1.18);
|
||||
transition: filter var(--motion-state) var(--motion-ease-out), transform var(--motion-state) var(--motion-ease-out);
|
||||
}
|
||||
|
||||
.canvas-folder-preview:not(.canvas-folder-preview-compact):hover .canvas-folder-front {
|
||||
transform: translateY(4px);
|
||||
}
|
||||
|
||||
.canvas-folder-preview:hover .canvas-folder-front-media > img,
|
||||
.canvas-folder-preview:hover .canvas-folder-front-media > video {
|
||||
filter: blur(16px) saturate(.86);
|
||||
transform: scale(1.14);
|
||||
}
|
||||
|
||||
.canvas-folder-front-tint {
|
||||
background: var(--canvas-folder-surface);
|
||||
}
|
||||
|
||||
.canvas-folder-copy {
|
||||
position: absolute;
|
||||
z-index: 2;
|
||||
bottom: 34px;
|
||||
left: 32px;
|
||||
display: flex;
|
||||
min-width: 0;
|
||||
max-width: 210px;
|
||||
flex-direction: column;
|
||||
gap: var(--space-1);
|
||||
}
|
||||
|
||||
.canvas-folder-title,
|
||||
.canvas-folder-title-input {
|
||||
min-width: 0;
|
||||
overflow: hidden;
|
||||
border: 0;
|
||||
background: transparent;
|
||||
padding: 0;
|
||||
color: inherit;
|
||||
font-size: var(--fs-title);
|
||||
font-weight: 520;
|
||||
line-height: 1.2;
|
||||
text-align: left;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.canvas-folder-title { display: inline-flex; align-items: center; gap: var(--space-1); }
|
||||
.canvas-folder-title > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
|
||||
.canvas-folder-title > svg { width: var(--space-3); height: var(--space-3); flex: 0 0 auto; opacity: 0; transition: opacity var(--motion-instant) ease; }
|
||||
.canvas-folder-preview:hover .canvas-folder-title > svg,
|
||||
.canvas-folder-title:focus-visible > svg { opacity: .64; }
|
||||
|
||||
.canvas-folder-title-input {
|
||||
border-radius: var(--r-sm);
|
||||
box-shadow: 0 0 0 2px var(--cn-active-stroke);
|
||||
padding: var(--space-1) var(--space-2);
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
.canvas-folder-meta {
|
||||
color: var(--canvas-folder-muted);
|
||||
font-size: var(--fs-caption);
|
||||
font-variant-numeric: tabular-nums;
|
||||
}
|
||||
|
||||
.canvas-folder-action,
|
||||
.canvas-folder-style-trigger {
|
||||
position: absolute;
|
||||
z-index: 6;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
border: 0;
|
||||
color: var(--canvas-folder-action-fg);
|
||||
transition: opacity var(--motion-instant) ease-out, transform var(--motion-state) var(--motion-ease-out), background-color var(--motion-instant) ease-out;
|
||||
}
|
||||
|
||||
.canvas-folder-action {
|
||||
right: 24px;
|
||||
bottom: 20px;
|
||||
}
|
||||
|
||||
.canvas-folder-add {
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
border-radius: var(--r-4xl);
|
||||
background: var(--canvas-folder-action-bg);
|
||||
box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--canvas-folder-action-fg) 22%, transparent), 0 12px 26px color-mix(in srgb, var(--cn-spatial-shadow) 52%, transparent);
|
||||
}
|
||||
|
||||
.canvas-folder-add > svg { width: 34px; height: 34px; stroke-width: 1.5; }
|
||||
|
||||
.canvas-folder-options {
|
||||
width: 66px;
|
||||
height: 50px;
|
||||
border: 1px solid var(--canvas-folder-edge);
|
||||
border-radius: var(--r-xl);
|
||||
background: color-mix(in srgb, var(--canvas-folder-surface-strong) 78%, transparent);
|
||||
color: var(--canvas-folder-ink);
|
||||
backdrop-filter: blur(14px);
|
||||
}
|
||||
|
||||
.canvas-folder-options > svg { width: 34px; height: 34px; stroke-width: 2.2; }
|
||||
.canvas-folder-action:hover { transform: translateY(-2px) scale(1.02); }
|
||||
.canvas-folder-action:active { transform: translateY(0) scale(.97); }
|
||||
|
||||
.canvas-folder-style-trigger {
|
||||
top: 22px;
|
||||
right: 20px;
|
||||
width: 36px;
|
||||
height: 30px;
|
||||
border: 1px solid color-mix(in srgb, var(--canvas-folder-edge) 74%, transparent);
|
||||
border-radius: var(--r-md);
|
||||
background: color-mix(in srgb, var(--canvas-folder-surface-strong) 72%, transparent);
|
||||
color: var(--canvas-folder-ink);
|
||||
opacity: 0;
|
||||
backdrop-filter: blur(12px);
|
||||
}
|
||||
|
||||
.canvas-folder-preview:hover .canvas-folder-style-trigger,
|
||||
.canvas-folder-style-trigger:focus-visible { opacity: 1; }
|
||||
.canvas-folder-style-trigger > svg { width: 20px; height: 20px; }
|
||||
|
||||
.canvas-folder-count {
|
||||
position: absolute;
|
||||
z-index: 6;
|
||||
right: 26px;
|
||||
bottom: 24px;
|
||||
border-radius: var(--r-full);
|
||||
background: color-mix(in srgb, var(--canvas-folder-surface-strong) 78%, transparent);
|
||||
padding: var(--space-2) var(--space-3);
|
||||
color: var(--canvas-folder-ink);
|
||||
font-size: var(--fs-caption);
|
||||
backdrop-filter: blur(12px);
|
||||
}
|
||||
|
||||
.canvas-folder-text-preview {
|
||||
display: -webkit-box;
|
||||
overflow: hidden;
|
||||
padding: var(--space-5);
|
||||
color: var(--canvas-folder-ink);
|
||||
font-size: var(--fs-caption);
|
||||
line-height: 1.5;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 5;
|
||||
}
|
||||
|
||||
.canvas-folder-file-icon { position: absolute; inset: 0; width: 36px; height: 36px; margin: auto; opacity: .42; }
|
||||
.canvas-folder-file-sheet { display: block; width: 100%; height: 100%; background: var(--canvas-folder-surface-strong); }
|
||||
|
||||
/* 三个参考态。stacked 露出内容卡;midnight 把标题压进深色封面标签。 */
|
||||
.canvas-folder-preview-glass .canvas-folder-preview-stack,
|
||||
.canvas-folder-preview-midnight .canvas-folder-preview-stack,
|
||||
.canvas-folder-preview-cinema .canvas-folder-preview-stack { opacity: 0; }
|
||||
|
||||
.canvas-folder-preview-stacked .canvas-folder-back,
|
||||
.canvas-folder-preview-paper .canvas-folder-back,
|
||||
.canvas-folder-preview-compact .canvas-folder-back { background: var(--canvas-folder-surface-strong); }
|
||||
|
||||
.canvas-folder-preview-stacked .canvas-folder-front-media,
|
||||
.canvas-folder-preview-paper .canvas-folder-front-media,
|
||||
.canvas-folder-preview-compact .canvas-folder-front-media { opacity: .24; }
|
||||
|
||||
.canvas-folder-preview-stacked .canvas-folder-copy,
|
||||
.canvas-folder-preview-paper .canvas-folder-copy { top: 132px; bottom: auto; }
|
||||
|
||||
.canvas-folder-preview-midnight,
|
||||
.canvas-folder-preview-cinema { --canvas-folder-ink: rgba(255, 255, 255, .96); --canvas-folder-muted: rgba(255, 255, 255, .58); --canvas-folder-edge: rgba(255, 255, 255, .19); --canvas-folder-surface: rgba(4, 5, 7, .78); --canvas-folder-surface-strong: rgba(8, 9, 12, .9); }
|
||||
.canvas-folder-preview-midnight .canvas-folder-copy,
|
||||
.canvas-folder-preview-cinema .canvas-folder-copy { top: 142px; right: 34px; bottom: auto; left: auto; max-width: 170px; }
|
||||
.canvas-folder-preview-midnight .canvas-folder-front-media,
|
||||
.canvas-folder-preview-cinema .canvas-folder-front-media { opacity: .78; }
|
||||
.canvas-folder-preview-midnight .canvas-folder-front-tint,
|
||||
.canvas-folder-preview-cinema .canvas-folder-front-tint { background: color-mix(in srgb, var(--canvas-folder-surface) 88%, transparent); }
|
||||
|
||||
.canvas-folder-preview-paper { --canvas-folder-surface: color-mix(in srgb, var(--background) 88%, transparent); }
|
||||
.canvas-folder-preview-cinema { filter: drop-shadow(0 28px 32px color-mix(in srgb, var(--cn-spatial-shadow) 72%, transparent)); }
|
||||
.canvas-folder-preview-compact .canvas-folder-copy { bottom: 28px; }
|
||||
.canvas-folder-preview-compact .canvas-folder-front { transform: translateY(18px); }
|
||||
.canvas-folder-preview-compact:hover .canvas-folder-front { transform: translateY(22px); }
|
||||
|
||||
.canvas-folder-expanded {
|
||||
background-image: linear-gradient(to bottom, color-mix(in srgb, var(--cn-frame-fill) 90%, transparent), var(--cn-frame-fill));
|
||||
}
|
||||
|
||||
.canvas-node-shell {
|
||||
@@ -6477,7 +6844,12 @@
|
||||
.aceternity-floating-panel,
|
||||
.canvas-menu-item,
|
||||
.canvas-node-shell,
|
||||
.canvas-frame-shell {
|
||||
.canvas-frame-shell,
|
||||
.canvas-folder-preview,
|
||||
.canvas-folder-front,
|
||||
.canvas-folder-front-media > img,
|
||||
.canvas-folder-front-media > video,
|
||||
.canvas-folder-preview-card {
|
||||
transform: none !important;
|
||||
transition-duration: 0.01ms !important;
|
||||
}
|
||||
@@ -7335,6 +7707,44 @@ html:not(.dark) .app-workspace-shell.is-creation-workspace .app-workspace-stage
|
||||
.creation-chat-reference.is-paper:hover:not(:disabled) { background: #2b2e37; color: #f1f3f5; transform: rotate(-4deg) translateY(-2px); }
|
||||
.creation-chat-reference.is-paper:active:not(:disabled) { transform: rotate(-4deg) translateY(0) scale(.97); }
|
||||
.creation-chat-reference.is-paper:focus-visible { outline: 2px solid var(--control-focus-ring); outline-offset: 3px; }
|
||||
.creation-chat-reference-slot {
|
||||
position: relative;
|
||||
width: 58px;
|
||||
height: 74px;
|
||||
align-self: start;
|
||||
}
|
||||
.creation-chat-reference-preview {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
border: 1px solid var(--creation-border);
|
||||
border-radius: var(--r-sm);
|
||||
background: var(--creation-surface);
|
||||
padding: 0;
|
||||
cursor: zoom-in;
|
||||
}
|
||||
.creation-chat-reference-preview img,
|
||||
.creation-chat-reference-preview video { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform var(--motion-instant) var(--motion-ease-out); }
|
||||
.creation-chat-reference-preview > span { position: absolute; bottom: var(--space-1); left: var(--space-1); display: grid; width: var(--space-5); height: var(--space-5); place-items: center; border-radius: 50%; background: rgba(0, 0, 0, .68); color: white; opacity: 0; transition: opacity var(--motion-instant) ease; }
|
||||
.creation-chat-reference-preview > span svg { width: var(--space-3); height: var(--space-3); }
|
||||
.creation-chat-reference-preview:hover img,
|
||||
.creation-chat-reference-preview:hover video { transform: scale(1.035); }
|
||||
.creation-chat-reference-preview:hover > span,
|
||||
.creation-chat-reference-preview:focus-visible > span { opacity: 1; }
|
||||
.creation-chat-reference-preview:focus-visible { outline: 2px solid var(--control-focus-ring); outline-offset: var(--space-half); }
|
||||
.creation-chat-reference-remove,
|
||||
.creation-chat-reference-add { position: absolute; z-index: 1; display: grid; place-items: center; border: 0; border-radius: 50%; color: white; transition: transform var(--motion-instant) var(--motion-ease-out), opacity var(--motion-instant) ease; }
|
||||
.creation-chat-reference-remove { top: calc(var(--space-1) * -1); right: calc(var(--space-1) * -1); width: var(--space-5); height: var(--space-5); background: rgba(0, 0, 0, .78); opacity: 0; }
|
||||
.creation-chat-reference-add { right: calc(var(--space-1) * -1); bottom: calc(var(--space-1) * -1); width: var(--space-6); height: var(--space-6); background: var(--btn-solid-bg); color: var(--btn-solid-fg); box-shadow: var(--elevation-card); }
|
||||
.creation-chat-reference-remove svg,
|
||||
.creation-chat-reference-add svg { width: var(--space-3); height: var(--space-3); }
|
||||
.creation-chat-reference-slot:hover .creation-chat-reference-remove,
|
||||
.creation-chat-reference-remove:focus-visible { opacity: 1; }
|
||||
.creation-chat-reference-remove:hover,
|
||||
.creation-chat-reference-add:hover:not(:disabled) { transform: scale(1.06); }
|
||||
.creation-chat-reference-add:disabled,
|
||||
.creation-chat-reference-remove:disabled { opacity: .42; }
|
||||
.creation-chat-composer .creation-chat-writing-surface { grid-template-columns: 62px minmax(0, 1fr); gap: 16px; }
|
||||
|
||||
.creation-custom-value {
|
||||
@@ -8168,6 +8578,7 @@ body.app-spatial-overlays :where(.ant-modal-mask, .ant-drawer-mask) {
|
||||
.asset-picker-count { justify-self: end; color: color-mix(in srgb, var(--foreground) 42%, transparent); font-size: var(--fs-micro); }
|
||||
.asset-picker-body { display: grid; min-height: 0; flex: 1; grid-template-columns: 156px minmax(0, 1fr); gap: 8px; padding: 0 8px; }
|
||||
.asset-picker-categories { overflow-y: auto; padding: 10px 8px; }
|
||||
.asset-picker-nav-label { display: block; padding: 10px 10px 4px; color: color-mix(in srgb, var(--foreground) 38%, transparent); font-size: var(--fs-micro); font-weight: 650; letter-spacing: .04em; }
|
||||
.asset-picker-categories button { display: flex; width: 100%; height: 42px; align-items: center; justify-content: space-between; gap: 8px; border: 0; border-radius: var(--r-sm); background: transparent; padding: 0 10px; color: color-mix(in srgb, var(--foreground) 54%, transparent); font-size: var(--fs-label); text-align: left; transition: background-color var(--motion-state) ease, color var(--motion-state) ease; }
|
||||
.asset-picker-categories button:hover { background: var(--library-surface-hover); color: var(--foreground); }
|
||||
.asset-picker-categories button.is-active { background: var(--library-surface-hover); color: var(--foreground); font-weight: 650; }
|
||||
@@ -8225,6 +8636,7 @@ body.app-spatial-overlays :where(.ant-modal-mask, .ant-drawer-mask) {
|
||||
.asset-picker-count { grid-column: 2; grid-row: 1; }
|
||||
.asset-picker-body { grid-template-columns: 1fr; grid-template-rows: auto minmax(0, 1fr); }
|
||||
.asset-picker-categories { display: flex; gap: 6px; overflow-x: auto; padding: 8px; }
|
||||
.asset-picker-nav-label { display: none; }
|
||||
.asset-picker-categories button { width: auto; min-width: 96px; }
|
||||
.asset-picker-grid-wrap { padding: 10px 4px; }
|
||||
.asset-picker-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
|
||||
|
||||
Reference in New Issue
Block a user