@stratakit/structures
Version:
Medium-sized component structures for the Strata design system
27 lines (26 loc) • 857 B
JavaScript
import { jsx } from "react/jsx-runtime";
import { Composite, useCompositeStore } from "@ariakit/react/composite";
import { Role } from "@ariakit/react/role";
import { forwardRef } from "@stratakit/foundations/secret-internals";
import cx from "classnames";
import { Action as TreeItemAction, Root as TreeItemRoot } from "./TreeItem.js";
const Tree = forwardRef((props, forwardedRef) => {
const composite = useCompositeStore({ orientation: "vertical" });
return /* @__PURE__ */ jsx(
Role.div,
{
role: "tree",
...props,
render: /* @__PURE__ */ jsx(Composite, { store: composite }),
className: cx("\u{1F95D}-tree", props.className),
ref: forwardedRef,
children: props.children
}
);
});
DEV: Tree.displayName = "Tree.Root";
export {
TreeItemRoot as Item,
TreeItemAction as ItemAction,
Tree as Root
};