@hitachivantara/uikit-react-core
Version:
Core React components for the NEXT Design System.
66 lines (65 loc) • 2.32 kB
JavaScript
"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const jsxRuntime = require("react/jsx-runtime");
const utils = require("@mui/base/utils");
const uikitReactUtils = require("@hitachivantara/uikit-react-utils");
const icons = require("../icons.cjs");
const generic = require("../types/generic.cjs");
const useTreeView = require("./internals/hooks/useTreeView.cjs");
const TreeViewProvider = require("./internals/TreeViewProvider.cjs");
const TreeView_styles = require("./TreeView.styles.cjs");
const defaultPlugins = require("./internals/hooks/plugins/defaultPlugins.cjs");
const HvTreeView = generic.fixedForwardRef(function HvTreeView2(props, ref) {
const {
id,
children,
classes: classesProp,
className,
disabledItemsFocusable,
multiSelect,
expanded,
defaultExpanded,
selected,
defaultSelected,
disableSelection,
defaultCollapseIcon = /* @__PURE__ */ jsxRuntime.jsx(icons.HvIcon, { name: "CaretDown", size: "xs" }),
defaultExpandIcon = /* @__PURE__ */ jsxRuntime.jsx(icons.HvIcon, { name: "CaretRight", size: "xs" }),
defaultEndIcon,
defaultParentIcon,
onNodeSelect,
onNodeToggle,
onNodeFocus,
...others
} = uikitReactUtils.useDefaultProps("HvTreeView", props);
const { classes, cx } = TreeView_styles.useClasses(classesProp);
const { getRootProps, contextValue } = useTreeView.useTreeView({
disabledItemsFocusable,
expanded,
defaultExpanded,
onNodeToggle,
onNodeFocus,
disableSelection,
defaultSelected,
selected,
multiSelect,
onNodeSelect,
id,
defaultCollapseIcon,
defaultEndIcon,
defaultExpandIcon,
defaultParentIcon,
plugins: defaultPlugins.DEFAULT_TREE_VIEW_PLUGINS,
rootRef: ref
});
const rootProps = utils.useSlotProps({
elementType: "ul",
externalSlotProps: {},
externalForwardedProps: others,
className: classes.root,
getSlotProps: getRootProps,
ownerState: props
});
return /* @__PURE__ */ jsxRuntime.jsx(TreeViewProvider.TreeViewProvider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cx(classes.root, className), ...rootProps, ...others, children }) });
});
exports.treeView2Classes = TreeView_styles.staticClasses;
exports.HvTreeView = HvTreeView;