import {
  collapsible_exports
} from "./GYKEGNPI.jsx";
import {
  RenderStrategyProvider,
  splitRenderStrategyProps,
  useRenderStrategyContext
} from "./VNMGX67M.jsx";
import {
  createSplitProps
} from "./6WEDGJKQ.jsx";
import {
  useEnvironmentContext
} from "./HDGILMRT.jsx";
import {
  useLocaleContext
} from "./HOPBYFHD.jsx";
import {
  runIfFn
} from "./KGOB2IMX.jsx";
import {
  ark
} from "./UFYZ7HLU.jsx";
import {
  createContext
} from "./UZJJWJQM.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-context.ts
var [TreeViewNodeStateProvider, useTreeViewNodeContext] = createContext({
  hookName: "useTreeViewNodeContext",
  providerName: "<TreeViewNodeProvider />"
});

// 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 nodeState = useTreeViewNodeContext();
  const renderStrategyProps = useRenderStrategyContext();
  const branchContentProps = createMemo(() => 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.h3 {...mergedProps} />;
};

// src/components/tree-view/tree-view-node-checkbox.tsx
import { mergeProps as mergeProps12 } from "@zag-js/solid";
var TreeViewNodeCheckbox = (props) => {
  const treeView2 = useTreeViewContext();
  const nodeProps = useTreeViewNodePropsContext();
  const mergedProps = mergeProps12(() => treeView2().getNodeCheckboxProps(nodeProps), props);
  return <ark.span {...mergedProps} />;
};

// src/components/tree-view/tree-view-node-checkbox-indicator.tsx
import { createMemo as createMemo3 } from "solid-js";
var TreeViewNodeCheckboxIndicator = (props) => {
  const nodeState = useTreeViewNodeContext();
  const checkedState = createMemo3(() => nodeState().checked);
  if (checkedState() === "indeterminate" && props.indeterminate) {
    return props.indeterminate;
  }
  if (checkedState() === true && props.children) {
    return props.children;
  }
  return props.fallback;
};

// src/components/tree-view/tree-view-node-rename-input.tsx
import { mergeProps as mergeProps13 } from "@zag-js/solid";
var TreeViewNodeRenameInput = (props) => {
  const treeView2 = useTreeViewContext();
  const nodeProps = useTreeViewNodePropsContext();
  const mergedProps = mergeProps13(() => treeView2().getNodeRenameInputProps(nodeProps), props);
  return <ark.input {...mergedProps} />;
};

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

// src/components/tree-view/tree-view-node-provider.tsx
import { createMemo as createMemo4 } from "solid-js";
function TreeViewNodeProvider(props) {
  const [nodeProps, localProps] = createSplitProps()(props, ["indexPath", "node"]);
  const treeView2 = useTreeViewContext();
  const nodeState = createMemo4(() => treeView2().getNodeState(nodeProps));
  return <TreeViewNodeStateProvider value={nodeState}>
      <TreeViewNodePropsProvider value={nodeProps}>{localProps.children}</TreeViewNodePropsProvider>
    </TreeViewNodeStateProvider>;
}

// src/components/tree-view/tree-view-root.tsx
import { mergeProps as mergeProps14 } 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 createMemo5, createUniqueId } from "solid-js";
var useTreeView = (props) => {
  const id = createUniqueId();
  const locale = useLocaleContext();
  const environment = useEnvironmentContext();
  const machineProps = createMemo5(() => ({
    id,
    dir: locale().dir,
    getRootNode: environment().getRootNode,
    ...runIfFn(props)
  }));
  const service = useMachine(treeView.machine, machineProps);
  return createMemo5(() => 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, [
    "canRename",
    "checkedValue",
    "collection",
    "defaultCheckedValue",
    "defaultExpandedValue",
    "defaultFocusedValue",
    "defaultSelectedValue",
    "expandedValue",
    "expandOnClick",
    "focusedValue",
    "id",
    "ids",
    "loadChildren",
    "onBeforeRename",
    "onCheckedChange",
    "onExpandedChange",
    "onFocusChange",
    "onLoadChildrenComplete",
    "onLoadChildrenError",
    "onRenameComplete",
    "onRenameStart",
    "onSelectionChange",
    "selectedValue",
    "selectionMode",
    "translations",
    "typeahead",
    "scrollToIndexFn"
  ]);
  const treeView2 = useTreeView(useTreeViewProps);
  const mergedProps = mergeProps14(() => 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 mergeProps15 } from "@zag-js/solid";
var TreeViewRootProvider = (props) => {
  const [renderStrategyProps, treeViewProps] = splitRenderStrategyProps(props);
  const [{ value: treeView2 }, localProps] = createSplitProps()(treeViewProps, ["value"]);
  const mergedProps = mergeProps15(() => 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 mergeProps16 } from "@zag-js/solid";
var TreeViewTree = (props) => {
  const treeView2 = useTreeViewContext();
  const mergedProps = mergeProps16(() => treeView2().getTreeProps(), props);
  return <ark.div {...mergedProps} />;
};

// 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,
  NodeCheckbox: () => TreeViewNodeCheckbox,
  NodeCheckboxIndicator: () => TreeViewNodeCheckboxIndicator,
  NodeContext: () => TreeViewNodeContext,
  NodeProvider: () => TreeViewNodeProvider,
  NodeRenameInput: () => TreeViewNodeRenameInput,
  Root: () => TreeViewRoot,
  RootProvider: () => TreeViewRootProvider,
  Tree: () => TreeViewTree
});

export {
  useTreeViewContext,
  useTreeViewNodeContext,
  TreeViewBranch,
  TreeViewBranchContent,
  TreeViewBranchControl,
  TreeViewBranchIndentGuide,
  TreeViewBranchIndicator,
  TreeViewBranchText,
  TreeViewBranchTrigger,
  TreeViewContext,
  TreeViewItem,
  TreeViewItemIndicator,
  TreeViewItemText,
  TreeViewLabel,
  TreeViewNodeCheckbox,
  TreeViewNodeCheckboxIndicator,
  TreeViewNodeRenameInput,
  TreeViewNodeContext,
  TreeViewNodeProvider,
  useTreeView,
  TreeViewRoot,
  TreeViewRootProvider,
  TreeViewTree,
  tree_view_exports
};
