import React, { HTMLAttributes, useCallback, useMemo } from 'react'
import classNames from 'classnames'
import { LevelItemProps } from './types'
import SVGRightSmall from '../../svg/right-small.svg'
import { List } from '../list'
import { TreeDataItem } from '../../types'
import { Flex } from '../flex'
import _ from 'lodash'
function Item({ item }: { item: TreeDataItem }) {
const hasChildren = item.children && !!item.children.length
return (
{item.text}
{hasChildren && }
)
}
function LevelItem({
title,
data,
selected,
onSelect,
onListItemMouseEnter,
willActiveSelected,
onlySelectLeaf,
className,
style,
}: LevelItemProps) {
const willActiveIndex = useMemo(
() => data.findIndex((value) => value.value === willActiveSelected),
[data, willActiveSelected]
)
const renderItem = useCallback((item: TreeDataItem) => {
return
}, [])
const getItemProps = useCallback(
(item: TreeDataItem): HTMLAttributes => ({
onMouseEnter: () => onListItemMouseEnter && onListItemMouseEnter(item),
}),
[onListItemMouseEnter]
)
const handleSelect = (selected: V) => {
const item = _.find>(data, (v) => v.value === selected)
if (onlySelectLeaf) {
if (!item!.children) {
onSelect(selected)
}
} else {
onSelect(selected)
}
}
return (
)
}
export default LevelItem