import {
  collapsible_exports
} from "./AYESR2LP.jsx";
import {
  RenderStrategyProvider,
  splitRenderStrategyProps,
  useRenderStrategyContext
} from "./NEBB7COJ.jsx";
import {
  createSplitProps
} from "./6WEDGJKQ.jsx";
import {
  ark
} from "./UFYZ7HLU.jsx";
import {
  useEnvironmentContext
} from "./D2Z5BEON.jsx";
import {
  useLocaleContext
} from "./RCXMZN3G.jsx";
import {
  createContext
} from "./TVCIHLER.jsx";
import {
  runIfFn
} from "./KGOB2IMX.jsx";
import {
  __export
} from "./7IUG3E2V.jsx";

// src/components/tree-view/tree-view-branch.tsx
import { mergeProps } from "@zag-js/solid";
import { createMemo } from "solid-js";

// src/components/tree-view/use-tree-view-context.ts
var [TreeViewProvider, useTreeViewContext] = createContext({
  hookName: "useTreeViewContext",
  providerName: "<TreeViewProvider />"
});

// src/components/tree-view/use-tree-view-node-props-context.ts
var [TreeViewNodePropsProvider, useTreeViewNodePropsContext] = createContext({
  hookName: "useTreeViewNodePropsContext",
  providerName: "<TreeViewNodeProvider />"
});

// src/components/tree-view/tree-view-branch.tsx
var TreeViewBranch = (props) => {
  const treeView2 = useTreeViewContext();
  const nodeProps = useTreeViewNodePropsContext();
  const renderStrategyProps = useRenderStrategyContext();
  const nodeState = createMemo(() => treeView2().getNodeState(nodeProps));
  const branchContentProps = treeView2().getBranchContentProps(nodeProps);
  const mergedProps = mergeProps(() => treeView2().getBranchProps(nodeProps), props);
  return <collapsible_exports.Root
    open={nodeState().expanded}
    ids={{ content: branchContentProps.id }}
    {...renderStrategyProps}
    {...mergedProps}
  />;
};

// src/components/tree-view/tree-view-branch-content.tsx
import { mergeProps as mergeProps2 } from "@zag-js/solid";
import { createMemo as createMemo2 } from "solid-js";
var splitVisibilityProps = createSplitProps();
var TreeViewBranchContent = (props) => {
  const treeView2 = useTreeViewContext();
  const nodeProps = useTreeViewNodePropsContext();
  const branchContentProps = createMemo2(() => {
    const contentProps = treeView2().getBranchContentProps(nodeProps);
    const [, ownProps] = splitVisibilityProps(contentProps, ["hidden", "data-state"]);
    return ownProps;
  });
  const mergedProps = mergeProps2(() => branchContentProps(), props);
  return <collapsible_exports.Content {...mergedProps} />;
};

// src/components/tree-view/tree-view-branch-control.tsx
import { mergeProps as mergeProps3 } from "@zag-js/solid";
var TreeViewBranchControl = (props) => {
  const treeView2 = useTreeViewContext();
  const nodeProps = useTreeViewNodePropsContext();
  const mergedProps = mergeProps3(() => treeView2().getBranchControlProps(nodeProps), props);
  return <ark.div {...mergedProps} />;
};

// src/components/tree-view/tree-view-branch-indent-guide.tsx
import { mergeProps as mergeProps4 } from "@zag-js/solid";
var TreeViewBranchIndentGuide = (props) => {
  const treeView2 = useTreeViewContext();
  const nodeProps = useTreeViewNodePropsContext();
  const mergedProps = mergeProps4(() => treeView2().getBranchIndentGuideProps(nodeProps), props);
  return <ark.div {...mergedProps} />;
};

// src/components/tree-view/tree-view-branch-indicator.tsx
import { mergeProps as mergeProps5 } from "@zag-js/solid";
var TreeViewBranchIndicator = (props) => {
  const treeView2 = useTreeViewContext();
  const nodeProps = useTreeViewNodePropsContext();
  const mergedProps = mergeProps5(() => treeView2().getBranchIndicatorProps(nodeProps), props);
  return <ark.div {...mergedProps} />;
};

// src/components/tree-view/tree-view-branch-text.tsx
import { mergeProps as mergeProps6 } from "@zag-js/solid";
var TreeViewBranchText = (props) => {
  const treeView2 = useTreeViewContext();
  const nodeProps = useTreeViewNodePropsContext();
  const mergedProps = mergeProps6(() => treeView2().getBranchTextProps(nodeProps), props);
  return <ark.span {...mergedProps} />;
};

// src/components/tree-view/tree-view-branch-trigger.tsx
import { mergeProps as mergeProps7 } from "@zag-js/solid";
var TreeViewBranchTrigger = (props) => {
  const treeView2 = useTreeViewContext();
  const nodeProps = useTreeViewNodePropsContext();
  const mergedProps = mergeProps7(() => treeView2().getBranchTriggerProps(nodeProps), props);
  return <ark.div {...mergedProps} />;
};

// src/components/tree-view/tree-view-context.tsx
var TreeViewContext = (props) => props.children(useTreeViewContext());

// src/components/tree-view/tree-view-item.tsx
import { mergeProps as mergeProps8 } from "@zag-js/solid";
var TreeViewItem = (props) => {
  const treeView2 = useTreeViewContext();
  const nodeProps = useTreeViewNodePropsContext();
  const mergedProps = mergeProps8(() => treeView2().getItemProps(nodeProps), props);
  return <ark.div {...mergedProps} />;
};

// src/components/tree-view/tree-view-item-indicator.tsx
import { mergeProps as mergeProps9 } from "@zag-js/solid";
var TreeViewItemIndicator = (props) => {
  const treeView2 = useTreeViewContext();
  const nodeProps = useTreeViewNodePropsContext();
  const mergedProps = mergeProps9(() => treeView2().getItemIndicatorProps(nodeProps), props);
  return <ark.div {...mergedProps} />;
};

// src/components/tree-view/tree-view-item-text.tsx
import { mergeProps as mergeProps10 } from "@zag-js/solid";
var TreeViewItemText = (props) => {
  const treeView2 = useTreeViewContext();
  const nodeProps = useTreeViewNodePropsContext();
  const mergedProps = mergeProps10(() => treeView2().getItemTextProps(nodeProps), props);
  return <ark.span {...mergedProps} />;
};

// src/components/tree-view/tree-view-label.tsx
import { mergeProps as mergeProps11 } from "@zag-js/solid";
var TreeViewLabel = (props) => {
  const treeView2 = useTreeViewContext();
  const mergedProps = mergeProps11(() => treeView2().getLabelProps(), props);
  return <ark.label {...mergedProps} />;
};

// src/components/tree-view/use-tree-view-node-context.ts
var [TreeViewNodeProvider, useTreeViewNodeContext] = createContext({
  hookName: "useTreeViewNodeContext",
  providerName: "<TreeViewNodeProvider />"
});

// src/components/tree-view/tree-view-node-context.ts
var TreeViewNodeContext = (props) => props.children(useTreeViewNodeContext());

// src/components/tree-view/tree-view-node-provider.tsx
function TreeViewNodeProvider2(props) {
  const [nodeProps, localProps] = createSplitProps()(props, ["indexPath", "node"]);
  return <TreeViewNodePropsProvider value={nodeProps}>{localProps.children}</TreeViewNodePropsProvider>;
}

// src/components/tree-view/tree-view-root.tsx
import { mergeProps as mergeProps12 } from "@zag-js/solid";

// src/components/tree-view/use-tree-view.ts
import { normalizeProps, useMachine } from "@zag-js/solid";
import * as treeView from "@zag-js/tree-view";
import { createMemo as createMemo3, createUniqueId } from "solid-js";
var useTreeView = (props) => {
  const id = createUniqueId();
  const locale = useLocaleContext();
  const environment = useEnvironmentContext();
  const machineProps = createMemo3(() => ({
    id,
    dir: locale().dir,
    getRootNode: environment().getRootNode,
    ...runIfFn(props)
  }));
  const service = useMachine(treeView.machine, machineProps);
  return createMemo3(() => treeView.connect(service, normalizeProps));
};

// src/components/tree-view/tree-view-root.tsx
var TreeViewRoot = (props) => {
  const [renderStrategyProps, treeViewProps] = splitRenderStrategyProps(props);
  const [useTreeViewProps, localProps] = createSplitProps()(treeViewProps, [
    "collection",
    "defaultExpandedValue",
    "defaultSelectedValue",
    "expandedValue",
    "expandOnClick",
    "focusedValue",
    "id",
    "ids",
    "onExpandedChange",
    "onFocusChange",
    "onSelectionChange",
    "selectedValue",
    "selectionMode",
    "typeahead"
  ]);
  const treeView2 = useTreeView(useTreeViewProps);
  const mergedProps = mergeProps12(() => treeView2().getRootProps(), localProps);
  return <TreeViewProvider value={treeView2}>
      <RenderStrategyProvider value={renderStrategyProps}>
        <ark.div {...mergedProps} />
      </RenderStrategyProvider>
    </TreeViewProvider>;
};

// src/components/tree-view/tree-view-root-provider.tsx
import { mergeProps as mergeProps13 } from "@zag-js/solid";
var TreeViewRootProvider = (props) => {
  const [renderStrategyProps, treeViewProps] = splitRenderStrategyProps(props);
  const [{ value: treeView2 }, localProps] = createSplitProps()(treeViewProps, ["value"]);
  const mergedProps = mergeProps13(() => treeView2().getRootProps(), localProps);
  return <TreeViewProvider value={treeView2}>
      <RenderStrategyProvider value={renderStrategyProps}>
        <ark.div {...mergedProps} />
      </RenderStrategyProvider>
    </TreeViewProvider>;
};

// src/components/tree-view/tree-view-tree.tsx
import { mergeProps as mergeProps14 } from "@zag-js/solid";
var TreeViewTree = (props) => {
  const treeView2 = useTreeViewContext();
  const mergedProps = mergeProps14(() => treeView2().getTreeProps(), props);
  return <ark.div {...mergedProps} />;
};

// src/components/tree-view/tree-view.anatomy.ts
import { anatomy } from "@zag-js/tree-view";

// src/components/tree-view/tree-view.ts
var tree_view_exports = {};
__export(tree_view_exports, {
  Branch: () => TreeViewBranch,
  BranchContent: () => TreeViewBranchContent,
  BranchControl: () => TreeViewBranchControl,
  BranchIndentGuide: () => TreeViewBranchIndentGuide,
  BranchIndicator: () => TreeViewBranchIndicator,
  BranchText: () => TreeViewBranchText,
  BranchTrigger: () => TreeViewBranchTrigger,
  Context: () => TreeViewContext,
  Item: () => TreeViewItem,
  ItemIndicator: () => TreeViewItemIndicator,
  ItemText: () => TreeViewItemText,
  Label: () => TreeViewLabel,
  NodeContext: () => TreeViewNodeContext,
  NodeProvider: () => TreeViewNodeProvider2,
  Root: () => TreeViewRoot,
  RootProvider: () => TreeViewRootProvider,
  Tree: () => TreeViewTree
});

export {
  TreeViewBranch,
  TreeViewBranchContent,
  TreeViewBranchControl,
  TreeViewBranchIndentGuide,
  TreeViewBranchIndicator,
  TreeViewBranchText,
  TreeViewBranchTrigger,
  TreeViewContext,
  TreeViewItem,
  TreeViewItemIndicator,
  TreeViewItemText,
  TreeViewLabel,
  TreeViewNodeContext,
  TreeViewNodeProvider2 as TreeViewNodeProvider,
  useTreeView,
  TreeViewRoot,
  TreeViewRootProvider,
  TreeViewTree,
  anatomy,
  tree_view_exports
};
