import { css, html } from 'lit';
import { getThemeMode } from '../_common/utils/query.js';
export const styles = css`
.affine-attachment-container {
position: relative;
display: flex;
flex-direction: column;
padding: 16px 24px;
margin-top: calc(var(--affine-paragraph-space) + 8px);
border-radius: 12px;
border: 3px solid var(--affine-background-overlay-panel-color);
background: var(--affine-card-background-blue);
box-shadow: var(--affine-shadow-1);
cursor: pointer;
}
.affine-attachment-embed-container {
position: relative;
display: flex;
justify-content: center;
margin-top: calc(var(--affine-paragraph-space) + 8px);
}
.affine-attachment-title {
display: flex;
gap: 8px;
color: var(--affine-text-primary-color);
font-size: var(--affine-font-sm);
font-weight: 600;
overflow: hidden;
text-overflow: ellipsis;
fill: var(--affine-icon-color);
user-select: none;
z-index: 1;
}
.affine-attachment-title > svg {
/* Align icon vertically to the center of the first line of text, */
/* Assume the height of the icon is 16px */
margin-top: calc((var(--affine-line-height) - 16px) / 2);
}
.affine-attachment-name {
flex: 1;
word-wrap: break-word;
overflow: hidden;
}
.affine-attachment-desc {
color: var(--affine-text-secondary-color);
font-size: var(--affine-font-xs);
user-select: none;
}
.affine-attachment-banner {
position: absolute;
display: flex;
right: 24px;
bottom: 0;
}
.affine-attachment-loading {
display: flex;
align-items: center;
gap: 8px;
color: var(--affine-placeholder-color);
font-size: var(--affine-font-sm);
font-weight: 600;
fill: var(--affine-icon-color);
user-select: none;
}
.affine-attachment-caption {
width: 100%;
font-size: var(--affine-font-sm);
outline: none;
border: 0;
font-family: inherit;
text-align: center;
color: var(--affine-icon-color);
background: var(--affine-background-primary-color);
}
.affine-attachment-caption::placeholder {
color: var(--affine-placeholder-color);
}
.overlay-mask {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
`;
export const LoadingIcon = html``;
const AttachmentBannerLight = html``;
const AttachmentBannerDark = html``;
export const AttachmentBanner = () => {
const mode = getThemeMode();
const isDarkMode = mode === 'dark';
return isDarkMode ? AttachmentBannerDark : AttachmentBannerLight;
};
const ErrorBannerLight = html``;
const ErrorBannerDark = html``;
export const ErrorBanner = () => {
const mode = getThemeMode();
const isDarkMode = mode === 'dark';
return isDarkMode ? ErrorBannerDark : ErrorBannerLight;
};