@ark-ui/react 2.0.2 → 2.1.1

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 (131) hide show
  1. package/CHANGELOG.md +40 -3
  2. package/clipboard/clipboard-context.cjs +15 -0
  3. package/clipboard/clipboard-context.d.ts +6 -0
  4. package/clipboard/clipboard-context.mjs +10 -0
  5. package/clipboard/clipboard-control.cjs +19 -0
  6. package/clipboard/clipboard-control.d.ts +6 -0
  7. package/clipboard/clipboard-control.mjs +15 -0
  8. package/clipboard/clipboard-indicator.cjs +22 -0
  9. package/clipboard/clipboard-indicator.d.ts +6 -0
  10. package/clipboard/clipboard-indicator.mjs +18 -0
  11. package/clipboard/clipboard-input.cjs +19 -0
  12. package/clipboard/clipboard-input.d.ts +6 -0
  13. package/clipboard/clipboard-input.mjs +15 -0
  14. package/clipboard/clipboard-label.cjs +19 -0
  15. package/clipboard/clipboard-label.d.ts +6 -0
  16. package/clipboard/clipboard-label.mjs +15 -0
  17. package/clipboard/clipboard-root.cjs +27 -0
  18. package/clipboard/clipboard-root.d.ts +9 -0
  19. package/clipboard/clipboard-root.mjs +23 -0
  20. package/clipboard/clipboard-trigger.cjs +21 -0
  21. package/clipboard/clipboard-trigger.d.ts +6 -0
  22. package/clipboard/clipboard-trigger.mjs +17 -0
  23. package/clipboard/clipboard.cjs +19 -0
  24. package/clipboard/clipboard.d.ts +7 -0
  25. package/clipboard/clipboard.mjs +6 -0
  26. package/clipboard/index.cjs +24 -0
  27. package/clipboard/index.d.ts +11 -0
  28. package/clipboard/index.mjs +10 -0
  29. package/clipboard/use-clipboard.cjs +43 -0
  30. package/clipboard/use-clipboard.d.ts +8 -0
  31. package/clipboard/use-clipboard.mjs +20 -0
  32. package/color-picker/use-color-picker.cjs +2 -1
  33. package/color-picker/use-color-picker.d.ts +1 -1
  34. package/color-picker/use-color-picker.mjs +2 -1
  35. package/date-picker/date-picker-input.cjs +3 -1
  36. package/date-picker/date-picker-input.d.ts +3 -1
  37. package/date-picker/date-picker-input.mjs +3 -1
  38. package/date-picker/date-picker-preset-trigger.cjs +25 -0
  39. package/date-picker/date-picker-preset-trigger.d.ts +8 -0
  40. package/date-picker/date-picker-preset-trigger.mjs +21 -0
  41. package/date-picker/date-picker.cjs +2 -0
  42. package/date-picker/date-picker.d.ts +2 -1
  43. package/date-picker/date-picker.mjs +1 -0
  44. package/date-picker/index.cjs +2 -0
  45. package/date-picker/index.d.ts +3 -2
  46. package/date-picker/index.mjs +1 -0
  47. package/date-picker/use-date-picker.cjs +2 -1
  48. package/date-picker/use-date-picker.d.ts +1 -1
  49. package/date-picker/use-date-picker.mjs +2 -1
  50. package/dialog/dialog-root.cjs +2 -2
  51. package/dialog/dialog-root.mjs +1 -1
  52. package/dialog/use-dialog.cjs +2 -1
  53. package/dialog/use-dialog.d.ts +1 -1
  54. package/dialog/use-dialog.mjs +2 -1
  55. package/factory.cjs +2 -2
  56. package/factory.mjs +1 -1
  57. package/hover-card/use-hover-card.cjs +2 -1
  58. package/hover-card/use-hover-card.d.ts +1 -1
  59. package/hover-card/use-hover-card.mjs +2 -1
  60. package/index.cjs +25 -0
  61. package/index.d.ts +2 -0
  62. package/index.mjs +14 -0
  63. package/locale/index.cjs +11 -0
  64. package/locale/index.d.ts +2 -0
  65. package/locale/index.mjs +2 -0
  66. package/locale/locale-context.cjs +18 -0
  67. package/locale/locale-context.d.ts +6 -0
  68. package/locale/locale-context.mjs +13 -0
  69. package/locale/locale.cjs +31 -0
  70. package/locale/locale.d.ts +14 -0
  71. package/locale/locale.mjs +27 -0
  72. package/menu/use-menu.cjs +2 -1
  73. package/menu/use-menu.d.ts +1 -1
  74. package/menu/use-menu.mjs +2 -1
  75. package/package.json +65 -51
  76. package/popover/use-popover.cjs +2 -1
  77. package/popover/use-popover.d.ts +1 -1
  78. package/popover/use-popover.mjs +2 -1
  79. package/select/use-select.cjs +2 -1
  80. package/select/use-select.d.ts +1 -1
  81. package/select/use-select.mjs +2 -1
  82. package/tooltip/use-tooltip.cjs +2 -1
  83. package/tooltip/use-tooltip.d.ts +1 -1
  84. package/tooltip/use-tooltip.mjs +2 -1
  85. package/tree-view/index.cjs +2 -0
  86. package/tree-view/index.d.ts +3 -2
  87. package/tree-view/index.mjs +1 -0
  88. package/tree-view/tree-view-branch-content.cjs +3 -7
  89. package/tree-view/tree-view-branch-content.d.ts +1 -3
  90. package/tree-view/tree-view-branch-content.mjs +3 -7
  91. package/tree-view/tree-view-branch-context.cjs +15 -0
  92. package/tree-view/tree-view-branch-context.d.ts +8 -0
  93. package/tree-view/tree-view-branch-context.mjs +10 -0
  94. package/tree-view/tree-view-branch-control.cjs +3 -7
  95. package/tree-view/tree-view-branch-control.d.ts +1 -3
  96. package/tree-view/tree-view-branch-control.mjs +3 -7
  97. package/tree-view/tree-view-branch-indicator.cjs +4 -7
  98. package/tree-view/tree-view-branch-indicator.d.ts +1 -3
  99. package/tree-view/tree-view-branch-indicator.mjs +4 -7
  100. package/tree-view/tree-view-branch-text.cjs +3 -7
  101. package/tree-view/tree-view-branch-text.d.ts +1 -3
  102. package/tree-view/tree-view-branch-text.mjs +3 -7
  103. package/tree-view/tree-view-branch-trigger.cjs +3 -7
  104. package/tree-view/tree-view-branch-trigger.d.ts +1 -3
  105. package/tree-view/tree-view-branch-trigger.mjs +3 -7
  106. package/tree-view/tree-view-branch.cjs +8 -5
  107. package/tree-view/tree-view-branch.d.ts +3 -2
  108. package/tree-view/tree-view-branch.mjs +8 -5
  109. package/tree-view/tree-view-context.d.ts +0 -16
  110. package/tree-view/tree-view-depth-context.cjs +17 -0
  111. package/tree-view/tree-view-depth-context.d.ts +4 -0
  112. package/tree-view/tree-view-depth-context.mjs +12 -0
  113. package/tree-view/tree-view-item-context.cjs +15 -0
  114. package/tree-view/tree-view-item-context.d.ts +8 -0
  115. package/tree-view/tree-view-item-context.mjs +10 -0
  116. package/tree-view/tree-view-item-indicator.cjs +23 -0
  117. package/tree-view/tree-view-item-indicator.d.ts +6 -0
  118. package/tree-view/tree-view-item-indicator.mjs +19 -0
  119. package/tree-view/tree-view-item-text.cjs +3 -12
  120. package/tree-view/tree-view-item-text.d.ts +1 -3
  121. package/tree-view/tree-view-item-text.mjs +3 -12
  122. package/tree-view/tree-view-item.cjs +6 -3
  123. package/tree-view/tree-view-item.d.ts +2 -1
  124. package/tree-view/tree-view-item.mjs +6 -3
  125. package/tree-view/tree-view-root.cjs +2 -2
  126. package/tree-view/tree-view-root.mjs +2 -2
  127. package/tree-view/tree-view-tree.cjs +2 -1
  128. package/tree-view/tree-view-tree.mjs +2 -1
  129. package/tree-view/tree-view.cjs +2 -0
  130. package/tree-view/tree-view.d.ts +2 -1
  131. package/tree-view/tree-view.mjs +1 -0
@@ -1,8 +1,6 @@
1
1
  import { ForwardRefExoticComponent, RefAttributes } from 'react';
2
2
  /// <reference types="react" />
3
3
  import { type HTMLArkProps } from '../factory';
4
- import type { Assign } from '../types';
5
- import { type BranchProps } from './tree-view-context';
6
- export interface TreeViewBranchTriggerProps extends Assign<HTMLArkProps<'div'>, BranchProps> {
4
+ export interface TreeViewBranchTriggerProps extends HTMLArkProps<'div'> {
7
5
  }
8
6
  export declare const TreeViewBranchTrigger: ForwardRefExoticComponent<TreeViewBranchTriggerProps & RefAttributes<HTMLDivElement>>;
@@ -2,19 +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 '../create-split-props.mjs';
6
5
  import { ark } from '../factory.mjs';
6
+ import { useTreeViewBranchContext } from './tree-view-branch-context.mjs';
7
7
  import { useTreeViewContext } from './tree-view-context.mjs';
8
8
 
9
9
  const TreeViewBranchTrigger = forwardRef(
10
10
  (props, ref) => {
11
- const [branchProps, { ...localProps }] = createSplitProps()(props, [
12
- "depth",
13
- "id",
14
- "disabled"
15
- ]);
16
11
  const api = useTreeViewContext();
17
- const mergedProps = mergeProps(api.getBranchTriggerProps(branchProps), localProps);
12
+ const branchProps = useTreeViewBranchContext();
13
+ const mergedProps = mergeProps(api.getBranchTriggerProps(branchProps), props);
18
14
  return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });
19
15
  }
20
16
  );
@@ -9,19 +9,22 @@ const react = require('react');
9
9
  const createSplitProps = require('../create-split-props.cjs');
10
10
  const factory = require('../factory.cjs');
11
11
  const runIfFn = require('../run-if-fn.cjs');
12
+ const treeViewBranchContext = require('./tree-view-branch-context.cjs');
12
13
  const treeViewContext = require('./tree-view-context.cjs');
14
+ const treeViewDepthContext = require('./tree-view-depth-context.cjs');
13
15
 
14
16
  const TreeViewBranch = react.forwardRef((props, ref) => {
15
- const [branchProps, { children, ...localProps }] = createSplitProps.createSplitProps()(props, [
16
- "depth",
17
- "id",
18
- "disabled"
17
+ const [itemProps, { children, ...localProps }] = createSplitProps.createSplitProps()(props, [
18
+ "disabled",
19
+ "id"
19
20
  ]);
20
21
  const api = treeViewContext.useTreeViewContext();
22
+ const depth = treeViewDepthContext.useTreeViewDepthContext();
23
+ const branchProps = { ...itemProps, depth };
21
24
  const mergedProps = react$1.mergeProps(api.getBranchProps(branchProps), localProps);
22
25
  const branchState = api.getBranchState(branchProps);
23
26
  const view = runIfFn.runIfFn(children, branchState);
24
- return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.li, { ...mergedProps, ref, children: view });
27
+ return /* @__PURE__ */ jsxRuntime.jsx(treeViewDepthContext.TreeViewDepthProvider, { value: depth + 1, children: /* @__PURE__ */ jsxRuntime.jsx(treeViewBranchContext.TreeViewBranchProvider, { value: branchProps, children: /* @__PURE__ */ jsxRuntime.jsx(factory.ark.li, { ...mergedProps, ref, children: view }) }) });
25
28
  });
26
29
  TreeViewBranch.displayName = "TreeViewBranch";
27
30
 
@@ -1,9 +1,10 @@
1
+ import type { BranchState } from '@zag-js/tree-view';
1
2
  import { ForwardRefExoticComponent, RefAttributes, type ReactNode } from 'react';
2
3
  import { type HTMLArkProps } from '../factory';
3
4
  import type { Assign } from '../types';
4
- import { type BranchProps, type BranchState } from './tree-view-context';
5
+ import { type ItemProps } from './tree-view-branch-context';
5
6
  export interface TreeViewBranchProps extends Assign<Assign<HTMLArkProps<'li'>, {
6
7
  children?: ReactNode | ((state: BranchState) => ReactNode);
7
- }>, BranchProps> {
8
+ }>, ItemProps> {
8
9
  }
9
10
  export declare const TreeViewBranch: ForwardRefExoticComponent<TreeViewBranchProps & RefAttributes<HTMLLIElement>>;
@@ -5,19 +5,22 @@ import { forwardRef } from 'react';
5
5
  import { createSplitProps } from '../create-split-props.mjs';
6
6
  import { ark } from '../factory.mjs';
7
7
  import { runIfFn } from '../run-if-fn.mjs';
8
+ import { TreeViewBranchProvider } from './tree-view-branch-context.mjs';
8
9
  import { useTreeViewContext } from './tree-view-context.mjs';
10
+ import { useTreeViewDepthContext, TreeViewDepthProvider } from './tree-view-depth-context.mjs';
9
11
 
10
12
  const TreeViewBranch = forwardRef((props, ref) => {
11
- const [branchProps, { children, ...localProps }] = createSplitProps()(props, [
12
- "depth",
13
- "id",
14
- "disabled"
13
+ const [itemProps, { children, ...localProps }] = createSplitProps()(props, [
14
+ "disabled",
15
+ "id"
15
16
  ]);
16
17
  const api = useTreeViewContext();
18
+ const depth = useTreeViewDepthContext();
19
+ const branchProps = { ...itemProps, depth };
17
20
  const mergedProps = mergeProps(api.getBranchProps(branchProps), localProps);
18
21
  const branchState = api.getBranchState(branchProps);
19
22
  const view = runIfFn(children, branchState);
20
- return /* @__PURE__ */ jsx(ark.li, { ...mergedProps, ref, children: view });
23
+ return /* @__PURE__ */ jsx(TreeViewDepthProvider, { value: depth + 1, children: /* @__PURE__ */ jsx(TreeViewBranchProvider, { value: branchProps, children: /* @__PURE__ */ jsx(ark.li, { ...mergedProps, ref, children: view }) }) });
21
24
  });
22
25
  TreeViewBranch.displayName = "TreeViewBranch";
23
26
 
@@ -1,22 +1,6 @@
1
1
  import { Provider } from 'react';
2
2
  /// <reference types="react" />
3
3
  import { type UseTreeViewReturn } from './use-tree-view';
4
- export interface ItemProps {
5
- depth: number;
6
- id: string;
7
- disabled?: boolean;
8
- }
9
- export interface BranchProps extends ItemProps {
10
- }
11
- export interface ItemState {
12
- id: string;
13
- isDisabled: boolean;
14
- isSelected: boolean;
15
- isFocused: boolean;
16
- }
17
- export interface BranchState extends ItemState {
18
- isExpanded: boolean;
19
- }
20
4
  export interface TreeViewContext extends UseTreeViewReturn {
21
5
  }
22
6
  export declare const TreeViewProvider: Provider<TreeViewContext>, useTreeViewContext: () => TreeViewContext;
@@ -0,0 +1,17 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
+
6
+ const createContext = require('../create-context.cjs');
7
+
8
+ const [TreeViewDepthProvider, useTreeViewDepthContext] = createContext.createContext(
9
+ {
10
+ name: "TreeViewDepthContext",
11
+ hookName: "useTreeViewDepthContext",
12
+ providerName: "<TreeViewDepthProvider />"
13
+ }
14
+ );
15
+
16
+ exports.TreeViewDepthProvider = TreeViewDepthProvider;
17
+ exports.useTreeViewDepthContext = useTreeViewDepthContext;
@@ -0,0 +1,4 @@
1
+ import { Provider } from 'react';
2
+ /// <reference types="react" />
3
+ export type TreeViewDepthContext = number;
4
+ export declare const TreeViewDepthProvider: Provider<number>, useTreeViewDepthContext: () => number;
@@ -0,0 +1,12 @@
1
+ 'use client';
2
+ import { createContext } from '../create-context.mjs';
3
+
4
+ const [TreeViewDepthProvider, useTreeViewDepthContext] = createContext(
5
+ {
6
+ name: "TreeViewDepthContext",
7
+ hookName: "useTreeViewDepthContext",
8
+ providerName: "<TreeViewDepthProvider />"
9
+ }
10
+ );
11
+
12
+ export { TreeViewDepthProvider, useTreeViewDepthContext };
@@ -0,0 +1,15 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
+
6
+ const createContext = require('../create-context.cjs');
7
+
8
+ const [TreeViewItemProvider, useTreeViewItemContext] = createContext.createContext({
9
+ name: "TreeViewItemContext",
10
+ hookName: "useTreeViewItemContext",
11
+ providerName: "<TreeViewItemProvider />"
12
+ });
13
+
14
+ exports.TreeViewItemProvider = TreeViewItemProvider;
15
+ exports.useTreeViewItemContext = useTreeViewItemContext;
@@ -0,0 +1,8 @@
1
+ import { Provider } from 'react';
2
+ /// <reference types="react" />
3
+ import type { ItemProps as ZagItemProps } from '@zag-js/tree-view';
4
+ export interface ItemProps extends Omit<ZagItemProps, 'depth'> {
5
+ }
6
+ export interface TreeViewItemContext extends ZagItemProps {
7
+ }
8
+ export declare const TreeViewItemProvider: Provider<TreeViewItemContext>, useTreeViewItemContext: () => TreeViewItemContext;
@@ -0,0 +1,10 @@
1
+ 'use client';
2
+ import { createContext } from '../create-context.mjs';
3
+
4
+ const [TreeViewItemProvider, useTreeViewItemContext] = createContext({
5
+ name: "TreeViewItemContext",
6
+ hookName: "useTreeViewItemContext",
7
+ providerName: "<TreeViewItemProvider />"
8
+ });
9
+
10
+ export { TreeViewItemProvider, useTreeViewItemContext };
@@ -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 treeViewContext = require('./tree-view-context.cjs');
11
+ const treeViewItemContext = require('./tree-view-item-context.cjs');
12
+
13
+ const TreeViewItemIndicator = react.forwardRef(
14
+ (props, ref) => {
15
+ const api = treeViewContext.useTreeViewContext();
16
+ const itemProps = treeViewItemContext.useTreeViewItemContext();
17
+ const mergedProps = react$1.mergeProps(api.getItemIndicatorProps(itemProps), props);
18
+ return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref });
19
+ }
20
+ );
21
+ TreeViewItemIndicator.displayName = "TreeViewItemIndicator";
22
+
23
+ exports.TreeViewItemIndicator = TreeViewItemIndicator;
@@ -0,0 +1,6 @@
1
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
2
+ /// <reference types="react" />
3
+ import { type HTMLArkProps } from '../factory';
4
+ export interface TreeViewItemIndicatorProps extends HTMLArkProps<'div'> {
5
+ }
6
+ export declare const TreeViewItemIndicator: ForwardRefExoticComponent<TreeViewItemIndicatorProps & 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.mjs';
6
+ import { useTreeViewContext } from './tree-view-context.mjs';
7
+ import { useTreeViewItemContext } from './tree-view-item-context.mjs';
8
+
9
+ const TreeViewItemIndicator = forwardRef(
10
+ (props, ref) => {
11
+ const api = useTreeViewContext();
12
+ const itemProps = useTreeViewItemContext();
13
+ const mergedProps = mergeProps(api.getItemIndicatorProps(itemProps), props);
14
+ return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });
15
+ }
16
+ );
17
+ TreeViewItemIndicator.displayName = "TreeViewItemIndicator";
18
+
19
+ export { TreeViewItemIndicator };
@@ -4,25 +4,16 @@
4
4
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
5
 
6
6
  const jsxRuntime = require('react/jsx-runtime');
7
- const anatomy = require('@ark-ui/anatomy');
8
7
  const react$1 = require('@zag-js/react');
9
8
  const react = require('react');
10
- const createSplitProps = require('../create-split-props.cjs');
11
9
  const factory = require('../factory.cjs');
12
10
  const treeViewContext = require('./tree-view-context.cjs');
11
+ const treeViewItemContext = require('./tree-view-item-context.cjs');
13
12
 
14
13
  const TreeViewItemText = react.forwardRef((props, ref) => {
15
- const [itemProps, { ...localProps }] = createSplitProps.createSplitProps()(props, [
16
- "depth",
17
- "id",
18
- "disabled"
19
- ]);
20
14
  const api = treeViewContext.useTreeViewContext();
21
- const mergedProps = react$1.mergeProps(
22
- api.getItemProps(itemProps),
23
- anatomy.treeViewAnatomy.build().itemText.attrs,
24
- localProps
25
- );
15
+ const itemProps = treeViewItemContext.useTreeViewItemContext();
16
+ const mergedProps = react$1.mergeProps(api.getItemTextProps(itemProps), props);
26
17
  return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.span, { ...mergedProps, ref });
27
18
  });
28
19
  TreeViewItemText.displayName = "TreeViewItemText";
@@ -1,8 +1,6 @@
1
1
  import { ForwardRefExoticComponent, RefAttributes } from 'react';
2
2
  /// <reference types="react" />
3
3
  import { type HTMLArkProps } from '../factory';
4
- import type { Assign } from '../types';
5
- import { type ItemProps } from './tree-view-context';
6
- export interface TreeViewItemTextProps extends Assign<HTMLArkProps<'span'>, ItemProps> {
4
+ export interface TreeViewItemTextProps extends HTMLArkProps<'span'> {
7
5
  }
8
6
  export declare const TreeViewItemText: ForwardRefExoticComponent<TreeViewItemTextProps & RefAttributes<HTMLSpanElement>>;
@@ -1,24 +1,15 @@
1
1
  'use client';
2
2
  import { jsx } from 'react/jsx-runtime';
3
- import { treeViewAnatomy } from '@ark-ui/anatomy';
4
3
  import { mergeProps } from '@zag-js/react';
5
4
  import { forwardRef } from 'react';
6
- import { createSplitProps } from '../create-split-props.mjs';
7
5
  import { ark } from '../factory.mjs';
8
6
  import { useTreeViewContext } from './tree-view-context.mjs';
7
+ import { useTreeViewItemContext } from './tree-view-item-context.mjs';
9
8
 
10
9
  const TreeViewItemText = forwardRef((props, ref) => {
11
- const [itemProps, { ...localProps }] = createSplitProps()(props, [
12
- "depth",
13
- "id",
14
- "disabled"
15
- ]);
16
10
  const api = useTreeViewContext();
17
- const mergedProps = mergeProps(
18
- api.getItemProps(itemProps),
19
- treeViewAnatomy.build().itemText.attrs,
20
- localProps
21
- );
11
+ const itemProps = useTreeViewItemContext();
12
+ const mergedProps = mergeProps(api.getItemTextProps(itemProps), props);
22
13
  return /* @__PURE__ */ jsx(ark.span, { ...mergedProps, ref });
23
14
  });
24
15
  TreeViewItemText.displayName = "TreeViewItemText";
@@ -10,18 +10,21 @@ const createSplitProps = require('../create-split-props.cjs');
10
10
  const factory = require('../factory.cjs');
11
11
  const runIfFn = require('../run-if-fn.cjs');
12
12
  const treeViewContext = require('./tree-view-context.cjs');
13
+ const treeViewDepthContext = require('./tree-view-depth-context.cjs');
14
+ const treeViewItemContext = require('./tree-view-item-context.cjs');
13
15
 
14
16
  const TreeViewItem = react.forwardRef((props, ref) => {
15
- const [itemProps, { children, ...localProps }] = createSplitProps.createSplitProps()(props, [
16
- "depth",
17
+ const [{ id, disabled }, { children, ...localProps }] = createSplitProps.createSplitProps()(props, [
17
18
  "id",
18
19
  "disabled"
19
20
  ]);
20
21
  const api = treeViewContext.useTreeViewContext();
22
+ const depth = treeViewDepthContext.useTreeViewDepthContext();
23
+ const itemProps = { id, disabled, depth };
21
24
  const mergedProps = react$1.mergeProps(api.getItemProps(itemProps), localProps);
22
25
  const itemState = api.getItemState(itemProps);
23
26
  const view = runIfFn.runIfFn(children, itemState);
24
- return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.li, { ...mergedProps, ref, children: view });
27
+ return /* @__PURE__ */ jsxRuntime.jsx(treeViewItemContext.TreeViewItemProvider, { value: itemProps, children: /* @__PURE__ */ jsxRuntime.jsx(factory.ark.li, { ...mergedProps, ref, children: view }) });
25
28
  });
26
29
  TreeViewItem.displayName = "TreeViewItem";
27
30
 
@@ -1,7 +1,8 @@
1
+ import type { ItemState } from '@zag-js/tree-view';
1
2
  import { ForwardRefExoticComponent, RefAttributes, type ReactNode } from 'react';
2
3
  import { type HTMLArkProps } from '../factory';
3
4
  import type { Assign } from '../types';
4
- import { type ItemProps, type ItemState } from './tree-view-context';
5
+ import { type ItemProps } from './tree-view-item-context';
5
6
  export interface TreeViewItemProps extends Assign<Assign<HTMLArkProps<'li'>, {
6
7
  children?: ReactNode | ((state: ItemState) => ReactNode);
7
8
  }>, ItemProps> {
@@ -6,18 +6,21 @@ import { createSplitProps } from '../create-split-props.mjs';
6
6
  import { ark } from '../factory.mjs';
7
7
  import { runIfFn } from '../run-if-fn.mjs';
8
8
  import { useTreeViewContext } from './tree-view-context.mjs';
9
+ import { useTreeViewDepthContext } from './tree-view-depth-context.mjs';
10
+ import { TreeViewItemProvider } from './tree-view-item-context.mjs';
9
11
 
10
12
  const TreeViewItem = forwardRef((props, ref) => {
11
- const [itemProps, { children, ...localProps }] = createSplitProps()(props, [
12
- "depth",
13
+ const [{ id, disabled }, { children, ...localProps }] = createSplitProps()(props, [
13
14
  "id",
14
15
  "disabled"
15
16
  ]);
16
17
  const api = useTreeViewContext();
18
+ const depth = useTreeViewDepthContext();
19
+ const itemProps = { id, disabled, depth };
17
20
  const mergedProps = mergeProps(api.getItemProps(itemProps), localProps);
18
21
  const itemState = api.getItemState(itemProps);
19
22
  const view = runIfFn(children, itemState);
20
- return /* @__PURE__ */ jsx(ark.li, { ...mergedProps, ref, children: view });
23
+ return /* @__PURE__ */ jsx(TreeViewItemProvider, { value: itemProps, children: /* @__PURE__ */ jsx(ark.li, { ...mergedProps, ref, children: view }) });
21
24
  });
22
25
  TreeViewItem.displayName = "TreeViewItem";
23
26
 
@@ -13,7 +13,7 @@ const treeViewContext = require('./tree-view-context.cjs');
13
13
  const useTreeView = require('./use-tree-view.cjs');
14
14
 
15
15
  const TreeViewRoot = react.forwardRef((props, ref) => {
16
- const [useTreeViewProps, { children, ...divProps }] = createSplitProps.createSplitProps()(
16
+ const [useTreeViewProps, { children, ...localProps }] = createSplitProps.createSplitProps()(
17
17
  props,
18
18
  [
19
19
  "defaultFocusedId",
@@ -31,7 +31,7 @@ const TreeViewRoot = react.forwardRef((props, ref) => {
31
31
  ]
32
32
  );
33
33
  const api = useTreeView.useTreeView(useTreeViewProps);
34
- const mergedProps = react$1.mergeProps(api.rootProps, divProps);
34
+ const mergedProps = react$1.mergeProps(api.rootProps, localProps);
35
35
  const view = runIfFn.runIfFn(children, api);
36
36
  return /* @__PURE__ */ jsxRuntime.jsx(treeViewContext.TreeViewProvider, { value: api, children: /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref, children: view }) });
37
37
  });
@@ -9,7 +9,7 @@ import { TreeViewProvider } from './tree-view-context.mjs';
9
9
  import { useTreeView } from './use-tree-view.mjs';
10
10
 
11
11
  const TreeViewRoot = forwardRef((props, ref) => {
12
- const [useTreeViewProps, { children, ...divProps }] = createSplitProps()(
12
+ const [useTreeViewProps, { children, ...localProps }] = createSplitProps()(
13
13
  props,
14
14
  [
15
15
  "defaultFocusedId",
@@ -27,7 +27,7 @@ const TreeViewRoot = forwardRef((props, ref) => {
27
27
  ]
28
28
  );
29
29
  const api = useTreeView(useTreeViewProps);
30
- const mergedProps = mergeProps(api.rootProps, divProps);
30
+ const mergedProps = mergeProps(api.rootProps, localProps);
31
31
  const view = runIfFn(children, api);
32
32
  return /* @__PURE__ */ jsx(TreeViewProvider, { value: api, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref, children: view }) });
33
33
  });
@@ -8,11 +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 treeViewContext = require('./tree-view-context.cjs');
11
+ const treeViewDepthContext = require('./tree-view-depth-context.cjs');
11
12
 
12
13
  const TreeViewTree = react.forwardRef((props, ref) => {
13
14
  const api = treeViewContext.useTreeViewContext();
14
15
  const mergedProps = react$1.mergeProps(api.treeProps, props);
15
- return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.ul, { ...mergedProps, ref });
16
+ return /* @__PURE__ */ jsxRuntime.jsx(treeViewDepthContext.TreeViewDepthProvider, { value: 1, children: /* @__PURE__ */ jsxRuntime.jsx(factory.ark.ul, { ...mergedProps, ref }) });
16
17
  });
17
18
  TreeViewTree.displayName = "TreeViewTree";
18
19
 
@@ -4,11 +4,12 @@ import { mergeProps } from '@zag-js/react';
4
4
  import { forwardRef } from 'react';
5
5
  import { ark } from '../factory.mjs';
6
6
  import { useTreeViewContext } from './tree-view-context.mjs';
7
+ import { TreeViewDepthProvider } from './tree-view-depth-context.mjs';
7
8
 
8
9
  const TreeViewTree = forwardRef((props, ref) => {
9
10
  const api = useTreeViewContext();
10
11
  const mergedProps = mergeProps(api.treeProps, props);
11
- return /* @__PURE__ */ jsx(ark.ul, { ...mergedProps, ref });
12
+ return /* @__PURE__ */ jsx(TreeViewDepthProvider, { value: 1, children: /* @__PURE__ */ jsx(ark.ul, { ...mergedProps, ref }) });
12
13
  });
13
14
  TreeViewTree.displayName = "TreeViewTree";
14
15
 
@@ -9,6 +9,7 @@ const treeViewBranchIndicator = require('./tree-view-branch-indicator.cjs');
9
9
  const treeViewBranchText = require('./tree-view-branch-text.cjs');
10
10
  const treeViewBranchTrigger = require('./tree-view-branch-trigger.cjs');
11
11
  const treeViewItem = require('./tree-view-item.cjs');
12
+ const treeViewItemIndicator = require('./tree-view-item-indicator.cjs');
12
13
  const treeViewItemText = require('./tree-view-item-text.cjs');
13
14
  const treeViewLabel = require('./tree-view-label.cjs');
14
15
  const treeViewRoot = require('./tree-view-root.cjs');
@@ -23,6 +24,7 @@ exports.BranchIndicator = treeViewBranchIndicator.TreeViewBranchIndicator;
23
24
  exports.BranchText = treeViewBranchText.TreeViewBranchText;
24
25
  exports.BranchTrigger = treeViewBranchTrigger.TreeViewBranchTrigger;
25
26
  exports.Item = treeViewItem.TreeViewItem;
27
+ exports.ItemIndicator = treeViewItemIndicator.TreeViewItemIndicator;
26
28
  exports.ItemText = treeViewItemText.TreeViewItemText;
27
29
  exports.Label = treeViewLabel.TreeViewLabel;
28
30
  exports.Root = treeViewRoot.TreeViewRoot;
@@ -5,8 +5,9 @@ import { TreeViewBranchIndicator as BranchIndicator } from './tree-view-branch-i
5
5
  import { TreeViewBranchText as BranchText } from './tree-view-branch-text';
6
6
  import { TreeViewBranchTrigger as BranchTrigger } from './tree-view-branch-trigger';
7
7
  import { TreeViewItem as Item } from './tree-view-item';
8
+ import { TreeViewItemIndicator as ItemIndicator } from './tree-view-item-indicator';
8
9
  import { TreeViewItemText as ItemText } from './tree-view-item-text';
9
10
  import { TreeViewLabel as Label } from './tree-view-label';
10
11
  import { TreeViewRoot as Root } from './tree-view-root';
11
12
  import { TreeViewTree as Tree } from './tree-view-tree';
12
- export { Branch, BranchContent, BranchControl, BranchIndicator, BranchText, BranchTrigger, Item, ItemText, Label, Root, Tree, };
13
+ export { Branch, BranchContent, BranchControl, BranchIndicator, BranchText, BranchTrigger, Item, ItemIndicator, ItemText, Label, Root, Tree, };
@@ -5,6 +5,7 @@ export { TreeViewBranchIndicator as BranchIndicator } from './tree-view-branch-i
5
5
  export { TreeViewBranchText as BranchText } from './tree-view-branch-text.mjs';
6
6
  export { TreeViewBranchTrigger as BranchTrigger } from './tree-view-branch-trigger.mjs';
7
7
  export { TreeViewItem as Item } from './tree-view-item.mjs';
8
+ export { TreeViewItemIndicator as ItemIndicator } from './tree-view-item-indicator.mjs';
8
9
  export { TreeViewItemText as ItemText } from './tree-view-item-text.mjs';
9
10
  export { TreeViewLabel as Label } from './tree-view-label.mjs';
10
11
  export { TreeViewRoot as Root } from './tree-view-root.mjs';