@ark-ui/react 4.2.0 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/README.md +1 -1
  2. package/dist/components/anatomy.d.cts +1 -0
  3. package/dist/components/anatomy.d.ts +1 -0
  4. package/dist/components/collection.cjs +2 -0
  5. package/dist/components/collection.d.cts +4 -1
  6. package/dist/components/collection.d.ts +4 -1
  7. package/dist/components/collection.js +3 -2
  8. package/dist/components/combobox/combobox-root.cjs +0 -1
  9. package/dist/components/combobox/combobox-root.js +0 -1
  10. package/dist/components/combobox/use-combobox.cjs +1 -1
  11. package/dist/components/combobox/use-combobox.js +1 -1
  12. package/dist/components/field/field-textarea.cjs +14 -2
  13. package/dist/components/field/field-textarea.d.cts +5 -0
  14. package/dist/components/field/field-textarea.d.ts +5 -0
  15. package/dist/components/field/field-textarea.js +15 -3
  16. package/dist/components/index.cjs +14 -10
  17. package/dist/components/index.js +5 -5
  18. package/dist/components/time-picker/index.cjs +7 -2
  19. package/dist/components/time-picker/index.d.cts +1 -0
  20. package/dist/components/time-picker/index.d.ts +1 -0
  21. package/dist/components/time-picker/index.js +1 -0
  22. package/dist/components/time-picker/time-picker.anatomy.d.cts +1 -0
  23. package/dist/components/time-picker/time-picker.anatomy.d.ts +1 -0
  24. package/dist/components/toast/create-toaster.d.cts +1 -1
  25. package/dist/components/toast/create-toaster.d.ts +1 -1
  26. package/dist/components/tree-view/index.cjs +8 -8
  27. package/dist/components/tree-view/index.d.cts +4 -4
  28. package/dist/components/tree-view/index.d.ts +4 -4
  29. package/dist/components/tree-view/index.js +4 -4
  30. package/dist/components/tree-view/tree-view-branch-content.cjs +9 -5
  31. package/dist/components/tree-view/tree-view-branch-content.d.cts +2 -2
  32. package/dist/components/tree-view/tree-view-branch-content.d.ts +2 -2
  33. package/dist/components/tree-view/tree-view-branch-content.js +9 -5
  34. package/dist/components/tree-view/tree-view-branch-control.cjs +3 -3
  35. package/dist/components/tree-view/tree-view-branch-control.js +3 -3
  36. package/dist/components/tree-view/tree-view-branch-indent-guide.cjs +23 -0
  37. package/dist/components/tree-view/tree-view-branch-indent-guide.d.cts +7 -0
  38. package/dist/components/tree-view/tree-view-branch-indent-guide.d.ts +7 -0
  39. package/dist/components/tree-view/tree-view-branch-indent-guide.js +19 -0
  40. package/dist/components/tree-view/tree-view-branch-indicator.cjs +3 -3
  41. package/dist/components/tree-view/tree-view-branch-indicator.js +3 -3
  42. package/dist/components/tree-view/tree-view-branch-text.cjs +3 -3
  43. package/dist/components/tree-view/tree-view-branch-text.js +3 -3
  44. package/dist/components/tree-view/tree-view-branch-trigger.cjs +3 -3
  45. package/dist/components/tree-view/tree-view-branch-trigger.js +3 -3
  46. package/dist/components/tree-view/tree-view-branch.cjs +18 -9
  47. package/dist/components/tree-view/tree-view-branch.d.cts +3 -4
  48. package/dist/components/tree-view/tree-view-branch.d.ts +3 -4
  49. package/dist/components/tree-view/tree-view-branch.js +18 -9
  50. package/dist/components/tree-view/tree-view-context.d.cts +5 -4
  51. package/dist/components/tree-view/tree-view-context.d.ts +5 -4
  52. package/dist/components/tree-view/tree-view-item-indicator.cjs +3 -3
  53. package/dist/components/tree-view/tree-view-item-indicator.js +3 -3
  54. package/dist/components/tree-view/tree-view-item-text.cjs +3 -3
  55. package/dist/components/tree-view/tree-view-item-text.js +3 -3
  56. package/dist/components/tree-view/tree-view-item.cjs +4 -13
  57. package/dist/components/tree-view/tree-view-item.d.cts +3 -4
  58. package/dist/components/tree-view/tree-view-item.d.ts +3 -4
  59. package/dist/components/tree-view/tree-view-item.js +4 -13
  60. package/dist/components/tree-view/tree-view-node-context.cjs +10 -0
  61. package/dist/components/tree-view/tree-view-node-context.d.cts +6 -0
  62. package/dist/components/tree-view/tree-view-node-context.d.ts +6 -0
  63. package/dist/components/tree-view/tree-view-node-context.js +6 -0
  64. package/dist/components/tree-view/tree-view-node-provider.cjs +15 -0
  65. package/dist/components/tree-view/tree-view-node-provider.d.cts +8 -0
  66. package/dist/components/tree-view/tree-view-node-provider.d.ts +8 -0
  67. package/dist/components/tree-view/tree-view-node-provider.js +11 -0
  68. package/dist/components/tree-view/tree-view-root-provider.cjs +11 -10
  69. package/dist/components/tree-view/tree-view-root-provider.d.cts +8 -6
  70. package/dist/components/tree-view/tree-view-root-provider.d.ts +8 -6
  71. package/dist/components/tree-view/tree-view-root-provider.js +11 -10
  72. package/dist/components/tree-view/tree-view-root.cjs +8 -5
  73. package/dist/components/tree-view/tree-view-root.d.cts +6 -4
  74. package/dist/components/tree-view/tree-view-root.d.ts +6 -4
  75. package/dist/components/tree-view/tree-view-root.js +8 -5
  76. package/dist/components/tree-view/tree-view-tree.cjs +1 -2
  77. package/dist/components/tree-view/tree-view-tree.d.cts +2 -2
  78. package/dist/components/tree-view/tree-view-tree.d.ts +2 -2
  79. package/dist/components/tree-view/tree-view-tree.js +1 -2
  80. package/dist/components/tree-view/tree-view.cjs +6 -2
  81. package/dist/components/tree-view/tree-view.d.cts +16 -14
  82. package/dist/components/tree-view/tree-view.d.ts +16 -14
  83. package/dist/components/tree-view/tree-view.js +3 -1
  84. package/dist/components/tree-view/use-tree-view-context.d.cts +3 -2
  85. package/dist/components/tree-view/use-tree-view-context.d.ts +3 -2
  86. package/dist/components/tree-view/use-tree-view-node-context.cjs +17 -0
  87. package/dist/components/tree-view/use-tree-view-node-context.d.cts +5 -0
  88. package/dist/components/tree-view/use-tree-view-node-context.d.ts +5 -0
  89. package/dist/components/tree-view/use-tree-view-node-context.js +12 -0
  90. package/dist/components/tree-view/use-tree-view-node-props-context.cjs +15 -0
  91. package/dist/components/tree-view/use-tree-view-node-props-context.d.cts +5 -0
  92. package/dist/components/tree-view/use-tree-view-node-props-context.d.ts +5 -0
  93. package/dist/components/tree-view/use-tree-view-node-props-context.js +10 -0
  94. package/dist/components/tree-view/use-tree-view.cjs +25 -15
  95. package/dist/components/tree-view/use-tree-view.d.cts +8 -3
  96. package/dist/components/tree-view/use-tree-view.d.ts +8 -3
  97. package/dist/components/tree-view/use-tree-view.js +26 -16
  98. package/dist/index.cjs +14 -10
  99. package/dist/index.js +5 -5
  100. package/package.json +69 -59
  101. package/dist/components/tree-view/tree-view-item-context.cjs +0 -10
  102. package/dist/components/tree-view/tree-view-item-context.d.cts +0 -6
  103. package/dist/components/tree-view/tree-view-item-context.d.ts +0 -6
  104. package/dist/components/tree-view/tree-view-item-context.js +0 -6
  105. package/dist/components/tree-view/use-tree-view-branch-context.cjs +0 -15
  106. package/dist/components/tree-view/use-tree-view-branch-context.d.cts +0 -7
  107. package/dist/components/tree-view/use-tree-view-branch-context.d.ts +0 -7
  108. package/dist/components/tree-view/use-tree-view-branch-context.js +0 -10
  109. package/dist/components/tree-view/use-tree-view-depth-context.cjs +0 -15
  110. package/dist/components/tree-view/use-tree-view-depth-context.d.cts +0 -3
  111. package/dist/components/tree-view/use-tree-view-depth-context.d.ts +0 -3
  112. package/dist/components/tree-view/use-tree-view-depth-context.js +0 -10
  113. package/dist/components/tree-view/use-tree-view-item-context.cjs +0 -17
  114. package/dist/components/tree-view/use-tree-view-item-context.d.cts +0 -5
  115. package/dist/components/tree-view/use-tree-view-item-context.d.ts +0 -5
  116. package/dist/components/tree-view/use-tree-view-item-context.js +0 -12
  117. package/dist/components/tree-view/use-tree-view-item-props-context.cjs +0 -15
  118. package/dist/components/tree-view/use-tree-view-item-props-context.d.cts +0 -5
  119. package/dist/components/tree-view/use-tree-view-item-props-context.d.ts +0 -5
  120. package/dist/components/tree-view/use-tree-view-item-props-context.js +0 -10
@@ -7,14 +7,14 @@ const jsxRuntime = require('react/jsx-runtime');
7
7
  const react$1 = require('@zag-js/react');
8
8
  const react = require('react');
9
9
  const factory = require('../factory.cjs');
10
- const useTreeViewBranchContext = require('./use-tree-view-branch-context.cjs');
11
10
  const useTreeViewContext = require('./use-tree-view-context.cjs');
11
+ const useTreeViewNodePropsContext = require('./use-tree-view-node-props-context.cjs');
12
12
 
13
13
  const TreeViewBranchControl = react.forwardRef(
14
14
  (props, ref) => {
15
15
  const treeView = useTreeViewContext.useTreeViewContext();
16
- const branchContext = useTreeViewBranchContext.useTreeViewBranchContext();
17
- const mergedProps = react$1.mergeProps(treeView.getBranchControlProps(branchContext), props);
16
+ const nodeProps = useTreeViewNodePropsContext.useTreeViewNodePropsContext();
17
+ const mergedProps = react$1.mergeProps(treeView.getBranchControlProps(nodeProps), props);
18
18
  return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref });
19
19
  }
20
20
  );
@@ -3,14 +3,14 @@ import { jsx } from 'react/jsx-runtime';
3
3
  import { mergeProps } from '@zag-js/react';
4
4
  import { forwardRef } from 'react';
5
5
  import { ark } from '../factory.js';
6
- import { useTreeViewBranchContext } from './use-tree-view-branch-context.js';
7
6
  import { useTreeViewContext } from './use-tree-view-context.js';
7
+ import { useTreeViewNodePropsContext } from './use-tree-view-node-props-context.js';
8
8
 
9
9
  const TreeViewBranchControl = forwardRef(
10
10
  (props, ref) => {
11
11
  const treeView = useTreeViewContext();
12
- const branchContext = useTreeViewBranchContext();
13
- const mergedProps = mergeProps(treeView.getBranchControlProps(branchContext), props);
12
+ const nodeProps = useTreeViewNodePropsContext();
13
+ const mergedProps = mergeProps(treeView.getBranchControlProps(nodeProps), props);
14
14
  return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });
15
15
  }
16
16
  );
@@ -0,0 +1,23 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
+
6
+ const jsxRuntime = require('react/jsx-runtime');
7
+ const react$1 = require('@zag-js/react');
8
+ const react = require('react');
9
+ const factory = require('../factory.cjs');
10
+ const useTreeViewContext = require('./use-tree-view-context.cjs');
11
+ const useTreeViewNodePropsContext = require('./use-tree-view-node-props-context.cjs');
12
+
13
+ const TreeViewBranchIndentGuide = react.forwardRef(
14
+ (props, ref) => {
15
+ const treeView = useTreeViewContext.useTreeViewContext();
16
+ const nodeProps = useTreeViewNodePropsContext.useTreeViewNodePropsContext();
17
+ const mergedProps = react$1.mergeProps(treeView.getBranchIndentGuideProps(nodeProps), props);
18
+ return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref });
19
+ }
20
+ );
21
+ TreeViewBranchIndentGuide.displayName = "TreeViewBranchIndentGuide";
22
+
23
+ exports.TreeViewBranchIndentGuide = TreeViewBranchIndentGuide;
@@ -0,0 +1,7 @@
1
+ import { HTMLProps, PolymorphicProps } from '../factory';
2
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
+ export interface TreeViewBranchIndentGuideBaseProps extends PolymorphicProps {
4
+ }
5
+ export interface TreeViewBranchIndentGuideProps extends HTMLProps<'div'>, TreeViewBranchIndentGuideBaseProps {
6
+ }
7
+ export declare const TreeViewBranchIndentGuide: ForwardRefExoticComponent<TreeViewBranchIndentGuideProps & RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,7 @@
1
+ import { HTMLProps, PolymorphicProps } from '../factory';
2
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
+ export interface TreeViewBranchIndentGuideBaseProps extends PolymorphicProps {
4
+ }
5
+ export interface TreeViewBranchIndentGuideProps extends HTMLProps<'div'>, TreeViewBranchIndentGuideBaseProps {
6
+ }
7
+ export declare const TreeViewBranchIndentGuide: ForwardRefExoticComponent<TreeViewBranchIndentGuideProps & RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,19 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { mergeProps } from '@zag-js/react';
4
+ import { forwardRef } from 'react';
5
+ import { ark } from '../factory.js';
6
+ import { useTreeViewContext } from './use-tree-view-context.js';
7
+ import { useTreeViewNodePropsContext } from './use-tree-view-node-props-context.js';
8
+
9
+ const TreeViewBranchIndentGuide = forwardRef(
10
+ (props, ref) => {
11
+ const treeView = useTreeViewContext();
12
+ const nodeProps = useTreeViewNodePropsContext();
13
+ const mergedProps = mergeProps(treeView.getBranchIndentGuideProps(nodeProps), props);
14
+ return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });
15
+ }
16
+ );
17
+ TreeViewBranchIndentGuide.displayName = "TreeViewBranchIndentGuide";
18
+
19
+ export { TreeViewBranchIndentGuide };
@@ -7,14 +7,14 @@ const jsxRuntime = require('react/jsx-runtime');
7
7
  const react$1 = require('@zag-js/react');
8
8
  const react = require('react');
9
9
  const factory = require('../factory.cjs');
10
- const useTreeViewBranchContext = require('./use-tree-view-branch-context.cjs');
11
10
  const useTreeViewContext = require('./use-tree-view-context.cjs');
11
+ const useTreeViewNodePropsContext = require('./use-tree-view-node-props-context.cjs');
12
12
 
13
13
  const TreeViewBranchIndicator = react.forwardRef(
14
14
  (props, ref) => {
15
15
  const treeView = useTreeViewContext.useTreeViewContext();
16
- const branchContext = useTreeViewBranchContext.useTreeViewBranchContext();
17
- const mergedProps = react$1.mergeProps(treeView.getBranchIndicatorProps(branchContext), props);
16
+ const nodeProps = useTreeViewNodePropsContext.useTreeViewNodePropsContext();
17
+ const mergedProps = react$1.mergeProps(treeView.getBranchIndicatorProps(nodeProps), props);
18
18
  return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref });
19
19
  }
20
20
  );
@@ -3,14 +3,14 @@ import { jsx } from 'react/jsx-runtime';
3
3
  import { mergeProps } from '@zag-js/react';
4
4
  import { forwardRef } from 'react';
5
5
  import { ark } from '../factory.js';
6
- import { useTreeViewBranchContext } from './use-tree-view-branch-context.js';
7
6
  import { useTreeViewContext } from './use-tree-view-context.js';
7
+ import { useTreeViewNodePropsContext } from './use-tree-view-node-props-context.js';
8
8
 
9
9
  const TreeViewBranchIndicator = forwardRef(
10
10
  (props, ref) => {
11
11
  const treeView = useTreeViewContext();
12
- const branchContext = useTreeViewBranchContext();
13
- const mergedProps = mergeProps(treeView.getBranchIndicatorProps(branchContext), props);
12
+ const nodeProps = useTreeViewNodePropsContext();
13
+ const mergedProps = mergeProps(treeView.getBranchIndicatorProps(nodeProps), props);
14
14
  return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });
15
15
  }
16
16
  );
@@ -7,14 +7,14 @@ const jsxRuntime = require('react/jsx-runtime');
7
7
  const react$1 = require('@zag-js/react');
8
8
  const react = require('react');
9
9
  const factory = require('../factory.cjs');
10
- const useTreeViewBranchContext = require('./use-tree-view-branch-context.cjs');
11
10
  const useTreeViewContext = require('./use-tree-view-context.cjs');
11
+ const useTreeViewNodePropsContext = require('./use-tree-view-node-props-context.cjs');
12
12
 
13
13
  const TreeViewBranchText = react.forwardRef(
14
14
  (props, ref) => {
15
15
  const treeView = useTreeViewContext.useTreeViewContext();
16
- const branchContext = useTreeViewBranchContext.useTreeViewBranchContext();
17
- const mergedProps = react$1.mergeProps(treeView.getBranchTextProps(branchContext), props);
16
+ const nodeProps = useTreeViewNodePropsContext.useTreeViewNodePropsContext();
17
+ const mergedProps = react$1.mergeProps(treeView.getBranchTextProps(nodeProps), props);
18
18
  return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.span, { ...mergedProps, ref });
19
19
  }
20
20
  );
@@ -3,14 +3,14 @@ import { jsx } from 'react/jsx-runtime';
3
3
  import { mergeProps } from '@zag-js/react';
4
4
  import { forwardRef } from 'react';
5
5
  import { ark } from '../factory.js';
6
- import { useTreeViewBranchContext } from './use-tree-view-branch-context.js';
7
6
  import { useTreeViewContext } from './use-tree-view-context.js';
7
+ import { useTreeViewNodePropsContext } from './use-tree-view-node-props-context.js';
8
8
 
9
9
  const TreeViewBranchText = forwardRef(
10
10
  (props, ref) => {
11
11
  const treeView = useTreeViewContext();
12
- const branchContext = useTreeViewBranchContext();
13
- const mergedProps = mergeProps(treeView.getBranchTextProps(branchContext), props);
12
+ const nodeProps = useTreeViewNodePropsContext();
13
+ const mergedProps = mergeProps(treeView.getBranchTextProps(nodeProps), props);
14
14
  return /* @__PURE__ */ jsx(ark.span, { ...mergedProps, ref });
15
15
  }
16
16
  );
@@ -7,14 +7,14 @@ const jsxRuntime = require('react/jsx-runtime');
7
7
  const react$1 = require('@zag-js/react');
8
8
  const react = require('react');
9
9
  const factory = require('../factory.cjs');
10
- const useTreeViewBranchContext = require('./use-tree-view-branch-context.cjs');
11
10
  const useTreeViewContext = require('./use-tree-view-context.cjs');
11
+ const useTreeViewNodePropsContext = require('./use-tree-view-node-props-context.cjs');
12
12
 
13
13
  const TreeViewBranchTrigger = react.forwardRef(
14
14
  (props, ref) => {
15
15
  const treeView = useTreeViewContext.useTreeViewContext();
16
- const branchContext = useTreeViewBranchContext.useTreeViewBranchContext();
17
- const mergedProps = react$1.mergeProps(treeView.getBranchTriggerProps(branchContext), props);
16
+ const nodeProps = useTreeViewNodePropsContext.useTreeViewNodePropsContext();
17
+ const mergedProps = react$1.mergeProps(treeView.getBranchTriggerProps(nodeProps), props);
18
18
  return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref });
19
19
  }
20
20
  );
@@ -3,14 +3,14 @@ import { jsx } from 'react/jsx-runtime';
3
3
  import { mergeProps } from '@zag-js/react';
4
4
  import { forwardRef } from 'react';
5
5
  import { ark } from '../factory.js';
6
- import { useTreeViewBranchContext } from './use-tree-view-branch-context.js';
7
6
  import { useTreeViewContext } from './use-tree-view-context.js';
7
+ import { useTreeViewNodePropsContext } from './use-tree-view-node-props-context.js';
8
8
 
9
9
  const TreeViewBranchTrigger = forwardRef(
10
10
  (props, ref) => {
11
11
  const treeView = useTreeViewContext();
12
- const branchContext = useTreeViewBranchContext();
13
- const mergedProps = mergeProps(treeView.getBranchTriggerProps(branchContext), props);
12
+ const nodeProps = useTreeViewNodePropsContext();
13
+ const mergedProps = mergeProps(treeView.getBranchTriggerProps(nodeProps), props);
14
14
  return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });
15
15
  }
16
16
  );
@@ -6,19 +6,28 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
6
6
  const jsxRuntime = require('react/jsx-runtime');
7
7
  const react$1 = require('@zag-js/react');
8
8
  const react = require('react');
9
- const createSplitProps = require('../../utils/create-split-props.cjs');
10
- const factory = require('../factory.cjs');
11
- const useTreeViewBranchContext = require('./use-tree-view-branch-context.cjs');
9
+ const renderStrategy = require('../../utils/render-strategy.cjs');
10
+ const collapsibleRoot = require('../collapsible/collapsible-root.cjs');
12
11
  const useTreeViewContext = require('./use-tree-view-context.cjs');
13
- const useTreeViewDepthContext = require('./use-tree-view-depth-context.cjs');
12
+ const useTreeViewNodePropsContext = require('./use-tree-view-node-props-context.cjs');
14
13
 
15
14
  const TreeViewBranch = react.forwardRef((props, ref) => {
16
- const [itemProps, localProps] = createSplitProps.createSplitProps()(props, ["disabled", "value"]);
17
15
  const treeView = useTreeViewContext.useTreeViewContext();
18
- const depth = useTreeViewDepthContext.useTreeViewDepthContext();
19
- const branchContext = { ...itemProps, depth };
20
- const mergedProps = react$1.mergeProps(treeView.getBranchProps(branchContext), localProps);
21
- return /* @__PURE__ */ jsxRuntime.jsx(useTreeViewDepthContext.TreeViewDepthProvider, { value: depth + 1, children: /* @__PURE__ */ jsxRuntime.jsx(useTreeViewBranchContext.TreeViewBranchProvider, { value: branchContext, children: /* @__PURE__ */ jsxRuntime.jsx(factory.ark.li, { ...mergedProps, ref }) }) });
16
+ const nodeProps = useTreeViewNodePropsContext.useTreeViewNodePropsContext();
17
+ const renderStrategyProps = renderStrategy.useRenderStrategyPropsContext();
18
+ const node = treeView.getNodeState(nodeProps);
19
+ const mergedProps = react$1.mergeProps(treeView.getBranchProps(nodeProps), props);
20
+ const branchContentProps = treeView.getBranchContentProps(nodeProps);
21
+ return /* @__PURE__ */ jsxRuntime.jsx(
22
+ collapsibleRoot.CollapsibleRoot,
23
+ {
24
+ ref,
25
+ open: node.expanded,
26
+ ids: { content: branchContentProps.id },
27
+ ...renderStrategyProps,
28
+ ...mergedProps
29
+ }
30
+ );
22
31
  });
23
32
  TreeViewBranch.displayName = "TreeViewBranch";
24
33
 
@@ -1,9 +1,8 @@
1
1
  import { Assign } from '../../types';
2
2
  import { HTMLProps, PolymorphicProps } from '../factory';
3
- import { ItemProps } from './use-tree-view-branch-context';
4
3
  import { ForwardRefExoticComponent, RefAttributes } from 'react';
5
- export interface TreeViewBranchBaseProps extends ItemProps, PolymorphicProps {
4
+ export interface TreeViewBranchBaseProps extends PolymorphicProps {
6
5
  }
7
- export interface TreeViewBranchProps extends Assign<HTMLProps<'li'>, TreeViewBranchBaseProps> {
6
+ export interface TreeViewBranchProps extends Assign<HTMLProps<'div'>, TreeViewBranchBaseProps> {
8
7
  }
9
- export declare const TreeViewBranch: ForwardRefExoticComponent<TreeViewBranchProps & RefAttributes<HTMLLIElement>>;
8
+ export declare const TreeViewBranch: ForwardRefExoticComponent<TreeViewBranchProps & RefAttributes<HTMLDivElement>>;
@@ -1,9 +1,8 @@
1
1
  import { Assign } from '../../types';
2
2
  import { HTMLProps, PolymorphicProps } from '../factory';
3
- import { ItemProps } from './use-tree-view-branch-context';
4
3
  import { ForwardRefExoticComponent, RefAttributes } from 'react';
5
- export interface TreeViewBranchBaseProps extends ItemProps, PolymorphicProps {
4
+ export interface TreeViewBranchBaseProps extends PolymorphicProps {
6
5
  }
7
- export interface TreeViewBranchProps extends Assign<HTMLProps<'li'>, TreeViewBranchBaseProps> {
6
+ export interface TreeViewBranchProps extends Assign<HTMLProps<'div'>, TreeViewBranchBaseProps> {
8
7
  }
9
- export declare const TreeViewBranch: ForwardRefExoticComponent<TreeViewBranchProps & RefAttributes<HTMLLIElement>>;
8
+ export declare const TreeViewBranch: ForwardRefExoticComponent<TreeViewBranchProps & RefAttributes<HTMLDivElement>>;
@@ -2,19 +2,28 @@
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { mergeProps } from '@zag-js/react';
4
4
  import { forwardRef } from 'react';
5
- import { createSplitProps } from '../../utils/create-split-props.js';
6
- import { ark } from '../factory.js';
7
- import { TreeViewBranchProvider } from './use-tree-view-branch-context.js';
5
+ import { useRenderStrategyPropsContext } from '../../utils/render-strategy.js';
6
+ import { CollapsibleRoot } from '../collapsible/collapsible-root.js';
8
7
  import { useTreeViewContext } from './use-tree-view-context.js';
9
- import { useTreeViewDepthContext, TreeViewDepthProvider } from './use-tree-view-depth-context.js';
8
+ import { useTreeViewNodePropsContext } from './use-tree-view-node-props-context.js';
10
9
 
11
10
  const TreeViewBranch = forwardRef((props, ref) => {
12
- const [itemProps, localProps] = createSplitProps()(props, ["disabled", "value"]);
13
11
  const treeView = useTreeViewContext();
14
- const depth = useTreeViewDepthContext();
15
- const branchContext = { ...itemProps, depth };
16
- const mergedProps = mergeProps(treeView.getBranchProps(branchContext), localProps);
17
- return /* @__PURE__ */ jsx(TreeViewDepthProvider, { value: depth + 1, children: /* @__PURE__ */ jsx(TreeViewBranchProvider, { value: branchContext, children: /* @__PURE__ */ jsx(ark.li, { ...mergedProps, ref }) }) });
12
+ const nodeProps = useTreeViewNodePropsContext();
13
+ const renderStrategyProps = useRenderStrategyPropsContext();
14
+ const node = treeView.getNodeState(nodeProps);
15
+ const mergedProps = mergeProps(treeView.getBranchProps(nodeProps), props);
16
+ const branchContentProps = treeView.getBranchContentProps(nodeProps);
17
+ return /* @__PURE__ */ jsx(
18
+ CollapsibleRoot,
19
+ {
20
+ ref,
21
+ open: node.expanded,
22
+ ids: { content: branchContentProps.id },
23
+ ...renderStrategyProps,
24
+ ...mergedProps
25
+ }
26
+ );
18
27
  });
19
28
  TreeViewBranch.displayName = "TreeViewBranch";
20
29
 
@@ -1,6 +1,7 @@
1
- import { ReactNode } from 'react';
1
+ import { TreeNode } from '../collection';
2
2
  import { UseTreeViewContext } from './use-tree-view-context';
3
- export interface TreeViewContextProps {
4
- children: (context: UseTreeViewContext) => ReactNode;
3
+ import { ReactNode } from 'react';
4
+ export interface TreeViewContextProps<T extends TreeNode> {
5
+ children: (context: UseTreeViewContext<T>) => React.ReactNode;
5
6
  }
6
- export declare const TreeViewContext: (props: TreeViewContextProps) => ReactNode;
7
+ export declare const TreeViewContext: <T extends unknown>(props: TreeViewContextProps<T>) => ReactNode;
@@ -1,6 +1,7 @@
1
- import { ReactNode } from 'react';
1
+ import { TreeNode } from '../collection';
2
2
  import { UseTreeViewContext } from './use-tree-view-context';
3
- export interface TreeViewContextProps {
4
- children: (context: UseTreeViewContext) => ReactNode;
3
+ import { ReactNode } from 'react';
4
+ export interface TreeViewContextProps<T extends TreeNode> {
5
+ children: (context: UseTreeViewContext<T>) => React.ReactNode;
5
6
  }
6
- export declare const TreeViewContext: (props: TreeViewContextProps) => ReactNode;
7
+ export declare const TreeViewContext: <T extends unknown>(props: TreeViewContextProps<T>) => ReactNode;
@@ -8,13 +8,13 @@ const react$1 = require('@zag-js/react');
8
8
  const react = require('react');
9
9
  const factory = require('../factory.cjs');
10
10
  const useTreeViewContext = require('./use-tree-view-context.cjs');
11
- const useTreeViewItemPropsContext = require('./use-tree-view-item-props-context.cjs');
11
+ const useTreeViewNodePropsContext = require('./use-tree-view-node-props-context.cjs');
12
12
 
13
13
  const TreeViewItemIndicator = react.forwardRef(
14
14
  (props, ref) => {
15
15
  const treeView = useTreeViewContext.useTreeViewContext();
16
- const itemProps = useTreeViewItemPropsContext.useTreeViewItemPropsContext();
17
- const mergedProps = react$1.mergeProps(treeView.getItemIndicatorProps(itemProps), props);
16
+ const nodeProps = useTreeViewNodePropsContext.useTreeViewNodePropsContext();
17
+ const mergedProps = react$1.mergeProps(treeView.getItemIndicatorProps(nodeProps), props);
18
18
  return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref });
19
19
  }
20
20
  );
@@ -4,13 +4,13 @@ import { mergeProps } from '@zag-js/react';
4
4
  import { forwardRef } from 'react';
5
5
  import { ark } from '../factory.js';
6
6
  import { useTreeViewContext } from './use-tree-view-context.js';
7
- import { useTreeViewItemPropsContext } from './use-tree-view-item-props-context.js';
7
+ import { useTreeViewNodePropsContext } from './use-tree-view-node-props-context.js';
8
8
 
9
9
  const TreeViewItemIndicator = forwardRef(
10
10
  (props, ref) => {
11
11
  const treeView = useTreeViewContext();
12
- const itemProps = useTreeViewItemPropsContext();
13
- const mergedProps = mergeProps(treeView.getItemIndicatorProps(itemProps), props);
12
+ const nodeProps = useTreeViewNodePropsContext();
13
+ const mergedProps = mergeProps(treeView.getItemIndicatorProps(nodeProps), props);
14
14
  return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });
15
15
  }
16
16
  );
@@ -8,12 +8,12 @@ const react$1 = require('@zag-js/react');
8
8
  const react = require('react');
9
9
  const factory = require('../factory.cjs');
10
10
  const useTreeViewContext = require('./use-tree-view-context.cjs');
11
- const useTreeViewItemPropsContext = require('./use-tree-view-item-props-context.cjs');
11
+ const useTreeViewNodePropsContext = require('./use-tree-view-node-props-context.cjs');
12
12
 
13
13
  const TreeViewItemText = react.forwardRef((props, ref) => {
14
14
  const treeView = useTreeViewContext.useTreeViewContext();
15
- const itemProps = useTreeViewItemPropsContext.useTreeViewItemPropsContext();
16
- const mergedProps = react$1.mergeProps(treeView.getItemTextProps(itemProps), props);
15
+ const nodeProps = useTreeViewNodePropsContext.useTreeViewNodePropsContext();
16
+ const mergedProps = react$1.mergeProps(treeView.getItemTextProps(nodeProps), props);
17
17
  return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.span, { ...mergedProps, ref });
18
18
  });
19
19
  TreeViewItemText.displayName = "TreeViewItemText";
@@ -4,12 +4,12 @@ import { mergeProps } from '@zag-js/react';
4
4
  import { forwardRef } from 'react';
5
5
  import { ark } from '../factory.js';
6
6
  import { useTreeViewContext } from './use-tree-view-context.js';
7
- import { useTreeViewItemPropsContext } from './use-tree-view-item-props-context.js';
7
+ import { useTreeViewNodePropsContext } from './use-tree-view-node-props-context.js';
8
8
 
9
9
  const TreeViewItemText = forwardRef((props, ref) => {
10
10
  const treeView = useTreeViewContext();
11
- const itemProps = useTreeViewItemPropsContext();
12
- const mergedProps = mergeProps(treeView.getItemTextProps(itemProps), props);
11
+ const nodeProps = useTreeViewNodePropsContext();
12
+ const mergedProps = mergeProps(treeView.getItemTextProps(nodeProps), props);
13
13
  return /* @__PURE__ */ jsx(ark.span, { ...mergedProps, ref });
14
14
  });
15
15
  TreeViewItemText.displayName = "TreeViewItemText";
@@ -6,24 +6,15 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
6
6
  const jsxRuntime = require('react/jsx-runtime');
7
7
  const react$1 = require('@zag-js/react');
8
8
  const react = require('react');
9
- const createSplitProps = require('../../utils/create-split-props.cjs');
10
9
  const factory = require('../factory.cjs');
11
10
  const useTreeViewContext = require('./use-tree-view-context.cjs');
12
- const useTreeViewDepthContext = require('./use-tree-view-depth-context.cjs');
13
- const useTreeViewItemContext = require('./use-tree-view-item-context.cjs');
14
- const useTreeViewItemPropsContext = require('./use-tree-view-item-props-context.cjs');
11
+ const useTreeViewNodePropsContext = require('./use-tree-view-node-props-context.cjs');
15
12
 
16
13
  const TreeViewItem = react.forwardRef((props, ref) => {
17
- const [{ value, disabled }, localProps] = createSplitProps.createSplitProps()(props, [
18
- "disabled",
19
- "value"
20
- ]);
21
14
  const treeView = useTreeViewContext.useTreeViewContext();
22
- const depth = useTreeViewDepthContext.useTreeViewDepthContext();
23
- const itemProps = { value, disabled, depth };
24
- const mergedProps = react$1.mergeProps(treeView.getItemProps(itemProps), localProps);
25
- const itemState = treeView.getItemState(itemProps);
26
- return /* @__PURE__ */ jsxRuntime.jsx(useTreeViewItemPropsContext.TreeViewItemPropsProvider, { value: itemProps, children: /* @__PURE__ */ jsxRuntime.jsx(useTreeViewItemContext.TreeViewItemProvider, { value: itemState, children: /* @__PURE__ */ jsxRuntime.jsx(factory.ark.li, { ...mergedProps, ref }) }) });
15
+ const nodeProps = useTreeViewNodePropsContext.useTreeViewNodePropsContext();
16
+ const mergedProps = react$1.mergeProps(treeView.getItemProps(nodeProps), props);
17
+ return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref });
27
18
  });
28
19
  TreeViewItem.displayName = "TreeViewItem";
29
20
 
@@ -1,9 +1,8 @@
1
1
  import { Assign } from '../../types';
2
2
  import { HTMLProps, PolymorphicProps } from '../factory';
3
- import { UseTreeViewItemPropsContext } from './use-tree-view-item-props-context';
4
3
  import { ForwardRefExoticComponent, RefAttributes } from 'react';
5
- export interface TreeViewItemBaseProps extends UseTreeViewItemPropsContext, PolymorphicProps {
4
+ export interface TreeViewItemBaseProps extends PolymorphicProps {
6
5
  }
7
- export interface TreeViewItemProps extends Assign<HTMLProps<'li'>, TreeViewItemBaseProps> {
6
+ export interface TreeViewItemProps extends Assign<HTMLProps<'div'>, TreeViewItemBaseProps> {
8
7
  }
9
- export declare const TreeViewItem: ForwardRefExoticComponent<TreeViewItemProps & RefAttributes<HTMLLIElement>>;
8
+ export declare const TreeViewItem: ForwardRefExoticComponent<TreeViewItemProps & RefAttributes<HTMLDivElement>>;
@@ -1,9 +1,8 @@
1
1
  import { Assign } from '../../types';
2
2
  import { HTMLProps, PolymorphicProps } from '../factory';
3
- import { UseTreeViewItemPropsContext } from './use-tree-view-item-props-context';
4
3
  import { ForwardRefExoticComponent, RefAttributes } from 'react';
5
- export interface TreeViewItemBaseProps extends UseTreeViewItemPropsContext, PolymorphicProps {
4
+ export interface TreeViewItemBaseProps extends PolymorphicProps {
6
5
  }
7
- export interface TreeViewItemProps extends Assign<HTMLProps<'li'>, TreeViewItemBaseProps> {
6
+ export interface TreeViewItemProps extends Assign<HTMLProps<'div'>, TreeViewItemBaseProps> {
8
7
  }
9
- export declare const TreeViewItem: ForwardRefExoticComponent<TreeViewItemProps & RefAttributes<HTMLLIElement>>;
8
+ export declare const TreeViewItem: ForwardRefExoticComponent<TreeViewItemProps & RefAttributes<HTMLDivElement>>;
@@ -2,24 +2,15 @@
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { mergeProps } from '@zag-js/react';
4
4
  import { forwardRef } from 'react';
5
- import { createSplitProps } from '../../utils/create-split-props.js';
6
5
  import { ark } from '../factory.js';
7
6
  import { useTreeViewContext } from './use-tree-view-context.js';
8
- import { useTreeViewDepthContext } from './use-tree-view-depth-context.js';
9
- import { TreeViewItemProvider } from './use-tree-view-item-context.js';
10
- import { TreeViewItemPropsProvider } from './use-tree-view-item-props-context.js';
7
+ import { useTreeViewNodePropsContext } from './use-tree-view-node-props-context.js';
11
8
 
12
9
  const TreeViewItem = forwardRef((props, ref) => {
13
- const [{ value, disabled }, localProps] = createSplitProps()(props, [
14
- "disabled",
15
- "value"
16
- ]);
17
10
  const treeView = useTreeViewContext();
18
- const depth = useTreeViewDepthContext();
19
- const itemProps = { value, disabled, depth };
20
- const mergedProps = mergeProps(treeView.getItemProps(itemProps), localProps);
21
- const itemState = treeView.getItemState(itemProps);
22
- return /* @__PURE__ */ jsx(TreeViewItemPropsProvider, { value: itemProps, children: /* @__PURE__ */ jsx(TreeViewItemProvider, { value: itemState, children: /* @__PURE__ */ jsx(ark.li, { ...mergedProps, ref }) }) });
11
+ const nodeProps = useTreeViewNodePropsContext();
12
+ const mergedProps = mergeProps(treeView.getItemProps(nodeProps), props);
13
+ return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });
23
14
  });
24
15
  TreeViewItem.displayName = "TreeViewItem";
25
16
 
@@ -0,0 +1,10 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
+
6
+ const useTreeViewNodeContext = require('./use-tree-view-node-context.cjs');
7
+
8
+ const TreeViewNodeContext = (props) => props.children(useTreeViewNodeContext.useTreeViewNodeContext());
9
+
10
+ exports.TreeViewNodeContext = TreeViewNodeContext;
@@ -0,0 +1,6 @@
1
+ import { UseTreeViewNodeContext } from './use-tree-view-node-context';
2
+ import { ReactNode } from 'react';
3
+ export interface TreeViewNodeContextProps {
4
+ children: (context: UseTreeViewNodeContext) => React.ReactNode;
5
+ }
6
+ export declare const TreeViewNodeContext: (props: TreeViewNodeContextProps) => ReactNode;
@@ -0,0 +1,6 @@
1
+ import { UseTreeViewNodeContext } from './use-tree-view-node-context';
2
+ import { ReactNode } from 'react';
3
+ export interface TreeViewNodeContextProps {
4
+ children: (context: UseTreeViewNodeContext) => React.ReactNode;
5
+ }
6
+ export declare const TreeViewNodeContext: (props: TreeViewNodeContextProps) => ReactNode;
@@ -0,0 +1,6 @@
1
+ 'use client';
2
+ import { useTreeViewNodeContext } from './use-tree-view-node-context.js';
3
+
4
+ const TreeViewNodeContext = (props) => props.children(useTreeViewNodeContext());
5
+
6
+ export { TreeViewNodeContext };
@@ -0,0 +1,15 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
+
6
+ const jsxRuntime = require('react/jsx-runtime');
7
+ const createSplitProps = require('../../utils/create-split-props.cjs');
8
+ const useTreeViewNodePropsContext = require('./use-tree-view-node-props-context.cjs');
9
+
10
+ function TreeViewNodeProvider(props) {
11
+ const [nodeProps, localProps] = createSplitProps.createSplitProps()(props, ["indexPath", "node"]);
12
+ return /* @__PURE__ */ jsxRuntime.jsx(useTreeViewNodePropsContext.TreeViewNodePropsProvider, { value: nodeProps, children: localProps.children });
13
+ }
14
+
15
+ exports.TreeViewNodeProvider = TreeViewNodeProvider;
@@ -0,0 +1,8 @@
1
+ import { NodeProps } from '@zag-js/tree-view';
2
+ export interface TreeViewNodeProviderBaseProps<T> extends NodeProps {
3
+ node: T;
4
+ }
5
+ export interface TreeViewNodeProviderProps<T> extends TreeViewNodeProviderBaseProps<T> {
6
+ children?: React.ReactNode;
7
+ }
8
+ export declare function TreeViewNodeProvider<T>(props: TreeViewNodeProviderProps<T>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { NodeProps } from '@zag-js/tree-view';
2
+ export interface TreeViewNodeProviderBaseProps<T> extends NodeProps {
3
+ node: T;
4
+ }
5
+ export interface TreeViewNodeProviderProps<T> extends TreeViewNodeProviderBaseProps<T> {
6
+ children?: React.ReactNode;
7
+ }
8
+ export declare function TreeViewNodeProvider<T>(props: TreeViewNodeProviderProps<T>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { createSplitProps } from '../../utils/create-split-props.js';
4
+ import { TreeViewNodePropsProvider } from './use-tree-view-node-props-context.js';
5
+
6
+ function TreeViewNodeProvider(props) {
7
+ const [nodeProps, localProps] = createSplitProps()(props, ["indexPath", "node"]);
8
+ return /* @__PURE__ */ jsx(TreeViewNodePropsProvider, { value: nodeProps, children: localProps.children });
9
+ }
10
+
11
+ export { TreeViewNodeProvider };