UNPKG

@1771technologies/lytenyte-pro

Version:

Blazingly fast headless React data grid with 100s of features.

22 lines (21 loc) 982 B
import { jsx as _jsx } from "react/jsx-runtime"; import { forwardRef } from "react"; import { TreeBranch } from "../tree-view/branch/branch.js"; import { FilterTreeItemContext } from "./context.js"; import { useTreeItem } from "./hooks/use-tree-item.js"; import { useSlot } from "@1771technologies/lytenyte-core/yinternal"; export const Branch = forwardRef(function Branch({ item, labelWrap, label, ...props }, forwarded) { const value = useTreeItem(item); const labelSlot = useSlot({ slot: labelWrap ?? _jsx("div", {}), props: [ { onClick: () => value.onCheckChange(), }, ], }); return (_jsx(FilterTreeItemContext.Provider, { value: value, children: _jsx(TreeBranch, { ...props, itemId: item.branch.data.id, ref: forwarded, ...item.attrs, onKeyDown: (ev) => { if (ev.key === " ") value.onCheckChange(); }, label: label, labelWrap: labelSlot }) })); });