mirror of
https://github.com/ant-design/ant-design.git
synced 2024-12-24 07:28:28 +08:00
fb52fbbfd0
Co-authored-by: IsKaros <IsKaros@users.noreply.github.com> Co-authored-by: <>
63 lines
1.5 KiB
TypeScript
63 lines
1.5 KiB
TypeScript
import type { CSSObject } from '@ant-design/cssinjs';
|
|
import type { TreeToken } from '.';
|
|
|
|
// ============================ Directory =============================
|
|
export const genDirectoryStyle = ({
|
|
treeCls,
|
|
treeNodeCls,
|
|
directoryNodeSelectedBg,
|
|
directoryNodeSelectedColor,
|
|
motionDurationMid,
|
|
borderRadius,
|
|
controlItemBgHover,
|
|
}: TreeToken): CSSObject => ({
|
|
[`${treeCls}${treeCls}-directory ${treeNodeCls}`]: {
|
|
// >>> Title
|
|
[`${treeCls}-node-content-wrapper`]: {
|
|
position: 'static',
|
|
|
|
[`> *:not(${treeCls}-drop-indicator)`]: {
|
|
position: 'relative',
|
|
},
|
|
|
|
'&:hover': {
|
|
background: 'transparent',
|
|
},
|
|
|
|
// Expand interactive area to whole line
|
|
'&:before': {
|
|
position: 'absolute',
|
|
inset: 0,
|
|
transition: `background-color ${motionDurationMid}`,
|
|
content: '""',
|
|
borderRadius,
|
|
},
|
|
|
|
'&:hover:before': {
|
|
background: controlItemBgHover,
|
|
},
|
|
},
|
|
|
|
[`${treeCls}-switcher, ${treeCls}-checkbox, ${treeCls}-draggable-icon`]: {
|
|
zIndex: 1,
|
|
},
|
|
|
|
// ============= Selected =============
|
|
'&-selected': {
|
|
[`${treeCls}-switcher, ${treeCls}-draggable-icon`]: {
|
|
color: directoryNodeSelectedColor,
|
|
},
|
|
|
|
// >>> Title
|
|
[`${treeCls}-node-content-wrapper`]: {
|
|
color: directoryNodeSelectedColor,
|
|
background: 'transparent',
|
|
|
|
'&:before, &:hover:before': {
|
|
background: directoryNodeSelectedBg,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
});
|