mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-27 10:52:40 +08:00
45 lines
1.1 KiB
TypeScript
45 lines
1.1 KiB
TypeScript
import MuiCollapse from '@mui/material/Collapse';
|
|
import { lightTheme } from '@toeverything/theme';
|
|
import type { CSSProperties } from 'react';
|
|
|
|
import { alpha, styled } from '../../styles';
|
|
|
|
export const StyledCollapse = styled(MuiCollapse)<{
|
|
indent?: CSSProperties['paddingLeft'];
|
|
}>(({ indent = 12 }) => {
|
|
return {
|
|
paddingLeft: indent,
|
|
};
|
|
});
|
|
export const StyledTreeNodeWrapper = styled('div')(() => {
|
|
return {
|
|
position: 'relative',
|
|
};
|
|
});
|
|
export const StyledTreeNodeContainer = styled('div')<{ isDragging?: boolean }>(
|
|
({ isDragging = false }) => {
|
|
return {
|
|
background: isDragging ? 'var(--affine-hover-color)' : '',
|
|
};
|
|
}
|
|
);
|
|
|
|
export const StyledNodeLine = styled('div')<{
|
|
isOver: boolean;
|
|
isTop?: boolean;
|
|
}>(({ isOver, isTop = false }) => {
|
|
return {
|
|
position: 'absolute',
|
|
left: '0',
|
|
...(isTop ? { top: '-1px' } : { bottom: '-1px' }),
|
|
width: '100%',
|
|
paddingTop: '2x',
|
|
borderTop: '2px solid',
|
|
borderColor: isOver ? 'var(--affine-primary-color)' : 'transparent',
|
|
boxShadow: isOver
|
|
? `0px 0px 8px ${alpha(lightTheme.primaryColor, 0.35)}`
|
|
: 'none',
|
|
zIndex: 1,
|
|
};
|
|
});
|