Files
deepseek-harness/packages/client/ui-attachment/src/MessageImage.module.css
T

108 lines
1.9 KiB
CSS

.gallery {
display: flex;
flex-wrap: wrap;
gap: 10px;
max-width: 100%;
}
.gallery[data-align='end'] {
justify-content: flex-end;
align-self: flex-end;
}
.gallery[data-align='start'] {
justify-content: flex-start;
align-self: flex-start;
}
.frame {
display: grid;
flex: 0 0 auto;
place-items: center;
min-width: 44px;
min-height: 44px;
padding: 0;
overflow: hidden;
border: 0.5px solid var(--dsw-alias-border-l2-darkmode-thin);
border-radius: 16px;
background: var(--dsw-alias-interactive-bg-hover);
cursor: zoom-in;
}
.frame[data-variant='tile'] {
width: 64px;
height: 64px;
min-width: 64px;
min-height: 64px;
}
.frame img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
.loading,
.error {
color: var(--dsw-alias-label-tertiary);
font-size: 12px;
line-height: 18px;
}
.error {
max-width: 240px;
padding: 10px 12px;
border: 0.5px solid var(--dsw-alias-border-l2-darkmode-thin);
border-radius: 10px;
background: var(--dsw-alias-interactive-bg-hover-danger);
cursor: pointer;
}
/* A failed tile keeps the 64px grid cell instead of growing to its copy. */
.error[data-variant='tile'] {
width: 64px;
height: 64px;
padding: 4px;
overflow: hidden;
border-radius: 16px;
}
.frame[data-variant='thumbnail'],
.error[data-variant='thumbnail'] {
box-sizing: border-box;
display: grid;
place-items: center;
width: 48px;
height: 48px;
min-width: 48px;
min-height: 48px;
padding: 2px;
overflow: hidden;
border-radius: 8px;
}
.frame[data-variant='thumbnail'] img {
object-fit: contain;
}
.spinner {
animation: spinner-rotate 0.9s linear infinite;
}
@keyframes spinner-rotate {
to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
.spinner {
animation: none;
}
}
.frame:focus-visible,
.error:focus-visible {
outline: 2px solid var(--dsw-alias-state-business-primary);
outline-offset: 2px;
}