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 (
{title &&
{title}
}
) } export default LevelItem