Skip to content

Commit 2e5d42a

Browse files
committed
feat(TreeView): a prop to determine tree view nesting level
1 parent 1507cd2 commit 2e5d42a

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

src/components/TreeView/TreeView.scss

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
$step-offset: 24px;
77

88
.ydb-tree-view {
9+
--ydb-tree-view-level: 0;
10+
911
$root: &;
1012
font-size: 13px;
1113
line-height: 18px;
@@ -19,6 +21,7 @@ $step-offset: 24px;
1921
display: flex;
2022
align-items: center;
2123
height: 24px;
24+
padding-left: calc(#{$step-offset} * var(--ydb-tree-view-level));
2225
padding-right: 3px;
2326
border-bottom: 1px solid var(--yc-color-line-solid);
2427
cursor: pointer;

src/components/TreeView/TreeView.tsx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,11 @@ export interface TreeViewProps {
1616
onArrowClick?: () => void;
1717
hasArrow?: boolean;
1818
actions?: DropdownMenuItemMixed<any>[];
19+
level?: number;
1920
}
2021

22+
const TREE_LEVEL_CSS_VAR = '--ydb-tree-view-level';
23+
2124
const b = block('ydb-tree-view');
2225

2326
export function TreeView({
@@ -31,6 +34,7 @@ export function TreeView({
3134
onArrowClick,
3235
hasArrow = false,
3336
actions,
37+
level,
3438
}: TreeViewProps) {
3539
const rootRef = React.useRef<HTMLDivElement>(null);
3640

@@ -84,7 +88,11 @@ export function TreeView({
8488
}, [onClick]);
8589

8690
return (
87-
<div ref={rootRef} className={b({'no-arrow': !hasArrow})}>
91+
<div
92+
ref={rootRef}
93+
className={b({'no-arrow': !hasArrow})}
94+
style={{[TREE_LEVEL_CSS_VAR]: level} as React.CSSProperties}
95+
>
8896
<ReactTreeView
8997
collapsed={collapsed}
9098
itemClassName={b('item', {active})}

0 commit comments

Comments
 (0)