mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-13 12:55:00 +00:00
183 lines
3.8 KiB
TypeScript
183 lines
3.8 KiB
TypeScript
import { baseTheme } from '@toeverything/theme';
|
|
import { keyframes, style } from '@vanilla-extract/css';
|
|
|
|
const fadeInAnimation = keyframes({
|
|
from: { opacity: 0 },
|
|
to: { opacity: 1 },
|
|
});
|
|
|
|
const fadeOutAnimation = keyframes({
|
|
from: { opacity: 1 },
|
|
to: { opacity: 0 },
|
|
});
|
|
|
|
export const imagePreviewBackgroundStyle = style({
|
|
position: 'fixed',
|
|
top: 0,
|
|
left: 0,
|
|
width: '100%',
|
|
height: '100%',
|
|
zIndex: baseTheme.zIndexModal,
|
|
background: 'rgba(0, 0, 0, 0.75)',
|
|
});
|
|
|
|
export const imagePreviewModalStyle = style({
|
|
height: '100%',
|
|
display: 'flex',
|
|
alignItems: 'center',
|
|
justifyContent: 'center',
|
|
});
|
|
|
|
export const loaded = style({
|
|
opacity: 0,
|
|
animationName: fadeInAnimation,
|
|
animationDuration: '0.25s',
|
|
animationFillMode: 'forwards',
|
|
});
|
|
|
|
export const unloaded = style({
|
|
opacity: 1,
|
|
animationName: fadeOutAnimation,
|
|
animationDuration: '0.25s',
|
|
animationFillMode: 'forwards',
|
|
});
|
|
|
|
export const imagePreviewModalCloseButtonStyle = style({
|
|
position: 'absolute',
|
|
display: 'flex',
|
|
flexDirection: 'column',
|
|
justifyContent: 'center',
|
|
alignItems: 'center',
|
|
height: '36px',
|
|
width: '36px',
|
|
borderRadius: '10px',
|
|
top: '0.5rem',
|
|
right: '0.5rem',
|
|
background: 'var(--affine-white)',
|
|
border: 'none',
|
|
padding: '0.5rem',
|
|
cursor: 'pointer',
|
|
color: 'var(--affine-icon-color)',
|
|
transition: 'background 0.2s ease-in-out',
|
|
zIndex: 1,
|
|
marginTop: '38px',
|
|
marginRight: '38px',
|
|
});
|
|
|
|
export const imagePreviewModalGoStyle = style({
|
|
color: 'var(--affine-white)',
|
|
position: 'absolute',
|
|
fontSize: '60px',
|
|
lineHeight: '60px',
|
|
fontWeight: 'bold',
|
|
opacity: '0.2',
|
|
padding: '0 15px',
|
|
cursor: 'pointer',
|
|
});
|
|
|
|
export const imageNavigationControlStyle = style({
|
|
display: 'flex',
|
|
height: '100%',
|
|
zIndex: 2,
|
|
justifyContent: 'space-between',
|
|
alignItems: 'center',
|
|
});
|
|
|
|
export const imagePreviewModalContainerStyle = style({
|
|
display: 'flex',
|
|
flexDirection: 'column',
|
|
alignItems: 'center',
|
|
zIndex: 1,
|
|
'@media': {
|
|
'screen and (max-width: 768px)': {
|
|
alignItems: 'center',
|
|
},
|
|
},
|
|
});
|
|
|
|
export const imagePreviewModalCenterStyle = style({
|
|
display: 'flex',
|
|
flexDirection: 'column',
|
|
alignItems: 'center',
|
|
});
|
|
|
|
export const imagePreviewModalCaptionStyle = style({
|
|
color: 'var(--affine-white)',
|
|
marginTop: '24px',
|
|
'@media': {
|
|
'screen and (max-width: 768px)': {
|
|
textAlign: 'center',
|
|
},
|
|
},
|
|
});
|
|
|
|
export const imagePreviewActionBarStyle = style({
|
|
display: 'flex',
|
|
justifyContent: 'center',
|
|
alignItems: 'center',
|
|
backgroundColor: 'var(--affine-white)',
|
|
borderRadius: '8px',
|
|
boxShadow: '2px 2px 4px rgba(0, 0, 0, 0.3)',
|
|
maxWidth: 'max-content',
|
|
minHeight: '44px',
|
|
maxHeight: '44px',
|
|
});
|
|
|
|
export const groupStyle = style({
|
|
padding: '10px 0',
|
|
boxSizing: 'border-box',
|
|
display: 'flex',
|
|
alignItems: 'center',
|
|
justifyContent: 'center',
|
|
borderLeft: '1px solid #E3E2E4',
|
|
});
|
|
|
|
export const buttonStyle = style({
|
|
minWidth: '24px',
|
|
height: '24px',
|
|
margin: '10px 6px',
|
|
padding: '0 0',
|
|
':hover': {
|
|
backgroundColor: 'var(--affine-background-error-color)',
|
|
backgroundSize: '24px 24px',
|
|
},
|
|
});
|
|
|
|
export const buttonIconStyle = style({
|
|
width: '20px',
|
|
height: '20px',
|
|
});
|
|
|
|
export const scaleIndicatorButtonStyle = style({
|
|
minHeight: '100%',
|
|
maxWidth: 'max-content',
|
|
fontSize: '12px',
|
|
padding: '5px 5px',
|
|
|
|
':hover': {
|
|
backgroundColor: 'var(--affine-hover-color)',
|
|
},
|
|
});
|
|
|
|
export const imageBottomContainerStyle = style({
|
|
display: 'flex',
|
|
flexDirection: 'column',
|
|
alignItems: 'center',
|
|
position: 'fixed',
|
|
bottom: '28px',
|
|
zIndex: baseTheme.zIndexModal + 1,
|
|
});
|
|
|
|
export const captionStyle = style({
|
|
maxWidth: '686px',
|
|
color: 'var(--affine-white)',
|
|
background: 'rgba(0,0,0,0.75)',
|
|
padding: '10px',
|
|
marginBottom: '21px',
|
|
});
|
|
|
|
export const suspenseFallbackStyle = style({
|
|
opacity: 0,
|
|
transition: 'opacity 2s ease-in-out',
|
|
});
|