@ark-ui/react 4.1.2 → 4.3.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 (159) hide show
  1. package/dist/components/accordion/examples/context/focusedValue.d.cts +1 -0
  2. package/dist/components/accordion/examples/context/focusedValue.d.ts +1 -0
  3. package/dist/components/accordion/examples/context/getItemState.d.cts +1 -0
  4. package/dist/components/accordion/examples/context/getItemState.d.ts +1 -0
  5. package/dist/components/accordion/examples/context/setValue.d.cts +1 -0
  6. package/dist/components/accordion/examples/context/setValue.d.ts +1 -0
  7. package/dist/components/accordion/examples/context/value.d.cts +1 -0
  8. package/dist/components/accordion/examples/context/value.d.ts +1 -0
  9. package/dist/components/client-only/client-only.cjs +23 -0
  10. package/dist/components/client-only/client-only.d.cts +5 -0
  11. package/dist/components/client-only/client-only.d.ts +5 -0
  12. package/dist/components/client-only/client-only.js +19 -0
  13. package/dist/components/client-only/index.cjs +9 -0
  14. package/dist/components/client-only/index.d.cts +1 -0
  15. package/dist/components/client-only/index.d.ts +1 -0
  16. package/dist/components/client-only/index.js +1 -0
  17. package/dist/components/collection.cjs +2 -0
  18. package/dist/components/collection.d.cts +4 -1
  19. package/dist/components/collection.d.ts +4 -1
  20. package/dist/components/collection.js +3 -2
  21. package/dist/components/combobox/combobox-root.cjs +0 -1
  22. package/dist/components/combobox/combobox-root.js +0 -1
  23. package/dist/components/field/field-required-indicator.cjs +24 -0
  24. package/dist/components/field/field-required-indicator.d.cts +8 -0
  25. package/dist/components/field/field-required-indicator.d.ts +8 -0
  26. package/dist/components/field/field-required-indicator.js +20 -0
  27. package/dist/components/field/field-textarea.cjs +14 -2
  28. package/dist/components/field/field-textarea.d.cts +5 -0
  29. package/dist/components/field/field-textarea.d.ts +5 -0
  30. package/dist/components/field/field-textarea.js +15 -3
  31. package/dist/components/field/field.anatomy.cjs +2 -1
  32. package/dist/components/field/field.anatomy.d.cts +2 -2
  33. package/dist/components/field/field.anatomy.d.ts +2 -2
  34. package/dist/components/field/field.anatomy.js +2 -1
  35. package/dist/components/field/field.cjs +14 -12
  36. package/dist/components/field/field.d.cts +9 -8
  37. package/dist/components/field/field.d.ts +9 -8
  38. package/dist/components/field/field.js +7 -6
  39. package/dist/components/field/index.cjs +2 -0
  40. package/dist/components/field/index.d.cts +1 -0
  41. package/dist/components/field/index.d.ts +1 -0
  42. package/dist/components/field/index.js +1 -0
  43. package/dist/components/field/use-field.cjs +9 -1
  44. package/dist/components/field/use-field.d.cts +1 -0
  45. package/dist/components/field/use-field.d.ts +1 -0
  46. package/dist/components/field/use-field.js +9 -1
  47. package/dist/components/index.cjs +13 -8
  48. package/dist/components/index.d.cts +1 -0
  49. package/dist/components/index.d.ts +1 -0
  50. package/dist/components/index.js +7 -5
  51. package/dist/components/slider/index.cjs +2 -0
  52. package/dist/components/slider/index.d.cts +1 -0
  53. package/dist/components/slider/index.d.ts +1 -0
  54. package/dist/components/slider/index.js +1 -0
  55. package/dist/components/slider/slider-dragging-indicator.cjs +23 -0
  56. package/dist/components/slider/slider-dragging-indicator.d.cts +7 -0
  57. package/dist/components/slider/slider-dragging-indicator.d.ts +7 -0
  58. package/dist/components/slider/slider-dragging-indicator.js +19 -0
  59. package/dist/components/slider/slider.cjs +4 -2
  60. package/dist/components/slider/slider.d.cts +12 -11
  61. package/dist/components/slider/slider.d.ts +12 -11
  62. package/dist/components/slider/slider.js +2 -1
  63. package/dist/components/toast/create-toaster.d.cts +1 -1
  64. package/dist/components/toast/create-toaster.d.ts +1 -1
  65. package/dist/components/tree-view/index.cjs +8 -8
  66. package/dist/components/tree-view/index.d.cts +4 -4
  67. package/dist/components/tree-view/index.d.ts +4 -4
  68. package/dist/components/tree-view/index.js +4 -4
  69. package/dist/components/tree-view/tree-view-branch-content.cjs +9 -5
  70. package/dist/components/tree-view/tree-view-branch-content.d.cts +2 -2
  71. package/dist/components/tree-view/tree-view-branch-content.d.ts +2 -2
  72. package/dist/components/tree-view/tree-view-branch-content.js +9 -5
  73. package/dist/components/tree-view/tree-view-branch-control.cjs +3 -3
  74. package/dist/components/tree-view/tree-view-branch-control.js +3 -3
  75. package/dist/components/tree-view/tree-view-branch-indent-guide.cjs +23 -0
  76. package/dist/components/tree-view/tree-view-branch-indent-guide.d.cts +7 -0
  77. package/dist/components/tree-view/tree-view-branch-indent-guide.d.ts +7 -0
  78. package/dist/components/tree-view/tree-view-branch-indent-guide.js +19 -0
  79. package/dist/components/tree-view/tree-view-branch-indicator.cjs +3 -3
  80. package/dist/components/tree-view/tree-view-branch-indicator.js +3 -3
  81. package/dist/components/tree-view/tree-view-branch-text.cjs +3 -3
  82. package/dist/components/tree-view/tree-view-branch-text.js +3 -3
  83. package/dist/components/tree-view/tree-view-branch-trigger.cjs +3 -3
  84. package/dist/components/tree-view/tree-view-branch-trigger.js +3 -3
  85. package/dist/components/tree-view/tree-view-branch.cjs +18 -9
  86. package/dist/components/tree-view/tree-view-branch.d.cts +3 -4
  87. package/dist/components/tree-view/tree-view-branch.d.ts +3 -4
  88. package/dist/components/tree-view/tree-view-branch.js +18 -9
  89. package/dist/components/tree-view/tree-view-context.d.cts +5 -4
  90. package/dist/components/tree-view/tree-view-context.d.ts +5 -4
  91. package/dist/components/tree-view/tree-view-item-indicator.cjs +3 -3
  92. package/dist/components/tree-view/tree-view-item-indicator.js +3 -3
  93. package/dist/components/tree-view/tree-view-item-text.cjs +3 -3
  94. package/dist/components/tree-view/tree-view-item-text.js +3 -3
  95. package/dist/components/tree-view/tree-view-item.cjs +4 -13
  96. package/dist/components/tree-view/tree-view-item.d.cts +3 -4
  97. package/dist/components/tree-view/tree-view-item.d.ts +3 -4
  98. package/dist/components/tree-view/tree-view-item.js +4 -13
  99. package/dist/components/tree-view/tree-view-node-context.cjs +10 -0
  100. package/dist/components/tree-view/tree-view-node-context.d.cts +6 -0
  101. package/dist/components/tree-view/tree-view-node-context.d.ts +6 -0
  102. package/dist/components/tree-view/tree-view-node-context.js +6 -0
  103. package/dist/components/tree-view/tree-view-node-provider.cjs +15 -0
  104. package/dist/components/tree-view/tree-view-node-provider.d.cts +8 -0
  105. package/dist/components/tree-view/tree-view-node-provider.d.ts +8 -0
  106. package/dist/components/tree-view/tree-view-node-provider.js +11 -0
  107. package/dist/components/tree-view/tree-view-root-provider.cjs +11 -10
  108. package/dist/components/tree-view/tree-view-root-provider.d.cts +8 -6
  109. package/dist/components/tree-view/tree-view-root-provider.d.ts +8 -6
  110. package/dist/components/tree-view/tree-view-root-provider.js +11 -10
  111. package/dist/components/tree-view/tree-view-root.cjs +8 -5
  112. package/dist/components/tree-view/tree-view-root.d.cts +6 -4
  113. package/dist/components/tree-view/tree-view-root.d.ts +6 -4
  114. package/dist/components/tree-view/tree-view-root.js +8 -5
  115. package/dist/components/tree-view/tree-view-tree.cjs +1 -2
  116. package/dist/components/tree-view/tree-view-tree.d.cts +2 -2
  117. package/dist/components/tree-view/tree-view-tree.d.ts +2 -2
  118. package/dist/components/tree-view/tree-view-tree.js +1 -2
  119. package/dist/components/tree-view/tree-view.cjs +6 -2
  120. package/dist/components/tree-view/tree-view.d.cts +16 -14
  121. package/dist/components/tree-view/tree-view.d.ts +16 -14
  122. package/dist/components/tree-view/tree-view.js +3 -1
  123. package/dist/components/tree-view/use-tree-view-context.d.cts +3 -2
  124. package/dist/components/tree-view/use-tree-view-context.d.ts +3 -2
  125. package/dist/components/tree-view/use-tree-view-node-context.cjs +17 -0
  126. package/dist/components/tree-view/use-tree-view-node-context.d.cts +5 -0
  127. package/dist/components/tree-view/use-tree-view-node-context.d.ts +5 -0
  128. package/dist/components/tree-view/use-tree-view-node-context.js +12 -0
  129. package/dist/components/tree-view/use-tree-view-node-props-context.cjs +15 -0
  130. package/dist/components/tree-view/use-tree-view-node-props-context.d.cts +5 -0
  131. package/dist/components/tree-view/use-tree-view-node-props-context.d.ts +5 -0
  132. package/dist/components/tree-view/use-tree-view-node-props-context.js +10 -0
  133. package/dist/components/tree-view/use-tree-view.cjs +25 -15
  134. package/dist/components/tree-view/use-tree-view.d.cts +8 -3
  135. package/dist/components/tree-view/use-tree-view.d.ts +8 -3
  136. package/dist/components/tree-view/use-tree-view.js +26 -16
  137. package/dist/index.cjs +13 -8
  138. package/dist/index.js +7 -5
  139. package/package.json +66 -65
  140. package/dist/components/tree-view/tree-view-item-context.cjs +0 -10
  141. package/dist/components/tree-view/tree-view-item-context.d.cts +0 -6
  142. package/dist/components/tree-view/tree-view-item-context.d.ts +0 -6
  143. package/dist/components/tree-view/tree-view-item-context.js +0 -6
  144. package/dist/components/tree-view/use-tree-view-branch-context.cjs +0 -15
  145. package/dist/components/tree-view/use-tree-view-branch-context.d.cts +0 -7
  146. package/dist/components/tree-view/use-tree-view-branch-context.d.ts +0 -7
  147. package/dist/components/tree-view/use-tree-view-branch-context.js +0 -10
  148. package/dist/components/tree-view/use-tree-view-depth-context.cjs +0 -15
  149. package/dist/components/tree-view/use-tree-view-depth-context.d.cts +0 -3
  150. package/dist/components/tree-view/use-tree-view-depth-context.d.ts +0 -3
  151. package/dist/components/tree-view/use-tree-view-depth-context.js +0 -10
  152. package/dist/components/tree-view/use-tree-view-item-context.cjs +0 -17
  153. package/dist/components/tree-view/use-tree-view-item-context.d.cts +0 -5
  154. package/dist/components/tree-view/use-tree-view-item-context.d.ts +0 -5
  155. package/dist/components/tree-view/use-tree-view-item-context.js +0 -12
  156. package/dist/components/tree-view/use-tree-view-item-props-context.cjs +0 -15
  157. package/dist/components/tree-view/use-tree-view-item-props-context.d.cts +0 -5
  158. package/dist/components/tree-view/use-tree-view-item-props-context.d.ts +0 -5
  159. package/dist/components/tree-view/use-tree-view-item-props-context.js +0 -10
@@ -1,7 +1,8 @@
1
1
  import { PropTypes } from '@zag-js/react';
2
2
  import { Optional } from '../../types';
3
+ import { TreeCollection, TreeNode } from '../collection';
3
4
  import * as treeView from '@zag-js/tree-view';
4
- export interface UseTreeViewProps extends Optional<Omit<treeView.Context, 'dir' | 'getRootNode'>, 'id'> {
5
+ export interface UseTreeViewProps<T extends TreeNode> extends Optional<Omit<treeView.Context, 'dir' | 'getRootNode' | 'collection'>, 'id'> {
5
6
  /**
6
7
  * The initial selected items of the tree view.
7
8
  * Use this when you do not need to control the state of the tree view.
@@ -12,7 +13,11 @@ export interface UseTreeViewProps extends Optional<Omit<treeView.Context, 'dir'
12
13
  * Use this when you do not need to control the state of the tree view.
13
14
  */
14
15
  defaultExpandedValue?: treeView.Context['expandedValue'];
16
+ /**
17
+ * The collection of tree nodes
18
+ */
19
+ collection: TreeCollection<T>;
15
20
  }
16
- export interface UseTreeViewReturn extends treeView.Api<PropTypes> {
21
+ export interface UseTreeViewReturn<T extends TreeNode> extends treeView.Api<PropTypes, T> {
17
22
  }
18
- export declare const useTreeView: (props?: UseTreeViewProps) => UseTreeViewReturn;
23
+ export declare const useTreeView: <T extends unknown>(props: UseTreeViewProps<T>) => UseTreeViewReturn<T>;
@@ -1,31 +1,41 @@
1
1
  'use client';
2
2
  import { useMachine, normalizeProps } from '@zag-js/react';
3
3
  import * as treeView from '@zag-js/tree-view';
4
- import { useId } from 'react';
4
+ import { useId, useEffect } from 'react';
5
5
  import { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';
6
6
  import { useLocaleContext } from '../../providers/locale/use-locale-context.js';
7
7
  import { useEvent } from '../../utils/use-event.js';
8
8
 
9
- const useTreeView = (props = {}) => {
10
- const { getRootNode } = useEnvironmentContext();
11
- const { dir } = useLocaleContext();
9
+ const useTreeView = (props) => {
10
+ const { collection, ...treeViewProps } = props;
11
+ const locale = useLocaleContext();
12
+ const environment = useEnvironmentContext();
12
13
  const initialContext = {
13
14
  id: useId(),
14
- dir,
15
- getRootNode,
15
+ dir: locale.dir,
16
+ getRootNode: environment.getRootNode,
16
17
  selectedValue: props.defaultSelectedValue,
17
18
  expandedValue: props.defaultExpandedValue,
18
- ...props
19
+ collection,
20
+ ...treeViewProps
19
21
  };
20
- const context = {
21
- ...initialContext,
22
- selectedValue: props.selectedValue,
23
- expandedValue: props.expandedValue,
24
- onFocusChange: useEvent(props.onFocusChange, { sync: true }),
25
- onExpandedChange: useEvent(props.onExpandedChange),
26
- onSelectionChange: useEvent(props.onSelectionChange)
27
- };
28
- const [state, send] = useMachine(treeView.machine(initialContext), { context });
22
+ const context = (() => {
23
+ const { collection: _, ...restProps } = initialContext;
24
+ return {
25
+ ...restProps,
26
+ selectedValue: props.selectedValue,
27
+ expandedValue: props.expandedValue,
28
+ onFocusChange: useEvent(props.onFocusChange),
29
+ onExpandedChange: useEvent(props.onExpandedChange, { sync: true }),
30
+ onSelectionChange: useEvent(props.onSelectionChange, { sync: true })
31
+ };
32
+ })();
33
+ const [state, send, service] = useMachine(treeView.machine(initialContext), {
34
+ context
35
+ });
36
+ useEffect(() => {
37
+ service.setContext({ collection });
38
+ }, [collection]);
29
39
  return treeView.connect(state, send, normalizeProps);
30
40
  };
31
41
 
package/dist/index.cjs CHANGED
@@ -51,6 +51,7 @@ const useCheckboxContext = require('./components/checkbox/use-checkbox-context.c
51
51
  const useCheckboxGroup = require('./components/checkbox/use-checkbox-group.cjs');
52
52
  const useCheckboxGroupContext = require('./components/checkbox/use-checkbox-group-context.cjs');
53
53
  const checkbox = require('./components/checkbox/checkbox.cjs');
54
+ const clientOnly = require('./components/client-only/client-only.cjs');
54
55
  const clipboardContext = require('./components/clipboard/clipboard-context.cjs');
55
56
  const clipboardControl = require('./components/clipboard/clipboard-control.cjs');
56
57
  const clipboardIndicator = require('./components/clipboard/clipboard-indicator.cjs');
@@ -194,6 +195,7 @@ const fieldRoot = require('./components/field/field-root.cjs');
194
195
  const fieldRootProvider = require('./components/field/field-root-provider.cjs');
195
196
  const fieldSelect = require('./components/field/field-select.cjs');
196
197
  const fieldTextarea = require('./components/field/field-textarea.cjs');
198
+ const fieldRequiredIndicator = require('./components/field/field-required-indicator.cjs');
197
199
  const field_anatomy = require('./components/field/field.anatomy.cjs');
198
200
  const useFieldContext = require('./components/field/use-field-context.cjs');
199
201
  const field = require('./components/field/field.cjs');
@@ -421,6 +423,7 @@ const useSignaturePadContext = require('./components/signature-pad/use-signature
421
423
  const signaturePad$1 = require('./components/signature-pad/signature-pad.cjs');
422
424
  const sliderContext = require('./components/slider/slider-context.cjs');
423
425
  const sliderControl = require('./components/slider/slider-control.cjs');
426
+ const sliderDraggingIndicator = require('./components/slider/slider-dragging-indicator.cjs');
424
427
  const sliderHiddenInput = require('./components/slider/slider-hidden-input.cjs');
425
428
  const sliderLabel = require('./components/slider/slider-label.cjs');
426
429
  const sliderMarker = require('./components/slider/slider-marker.cjs');
@@ -564,21 +567,20 @@ const tooltip$1 = require('./components/tooltip/tooltip.cjs');
564
567
  const treeViewBranch = require('./components/tree-view/tree-view-branch.cjs');
565
568
  const treeViewBranchContent = require('./components/tree-view/tree-view-branch-content.cjs');
566
569
  const treeViewBranchControl = require('./components/tree-view/tree-view-branch-control.cjs');
570
+ const treeViewBranchIndentGuide = require('./components/tree-view/tree-view-branch-indent-guide.cjs');
567
571
  const treeViewBranchIndicator = require('./components/tree-view/tree-view-branch-indicator.cjs');
568
572
  const treeViewBranchText = require('./components/tree-view/tree-view-branch-text.cjs');
569
573
  const treeViewBranchTrigger = require('./components/tree-view/tree-view-branch-trigger.cjs');
570
- const treeViewContext = require('./components/tree-view/tree-view-context.cjs');
571
574
  const treeViewItem = require('./components/tree-view/tree-view-item.cjs');
572
- const treeViewItemContext = require('./components/tree-view/tree-view-item-context.cjs');
573
575
  const treeViewItemIndicator = require('./components/tree-view/tree-view-item-indicator.cjs');
574
576
  const treeViewItemText = require('./components/tree-view/tree-view-item-text.cjs');
575
577
  const treeViewLabel = require('./components/tree-view/tree-view-label.cjs');
578
+ const treeViewNodeContext = require('./components/tree-view/tree-view-node-context.cjs');
579
+ const treeViewNodeProvider = require('./components/tree-view/tree-view-node-provider.cjs');
576
580
  const treeViewRoot = require('./components/tree-view/tree-view-root.cjs');
577
581
  const treeViewRootProvider = require('./components/tree-view/tree-view-root-provider.cjs');
578
582
  const treeViewTree = require('./components/tree-view/tree-view-tree.cjs');
579
583
  const useTreeView = require('./components/tree-view/use-tree-view.cjs');
580
- const useTreeViewContext = require('./components/tree-view/use-tree-view-context.cjs');
581
- const useTreeViewItemContext = require('./components/tree-view/use-tree-view-item-context.cjs');
582
584
  const treeView$1 = require('./components/tree-view/tree-view.cjs');
583
585
  const environmentProvider = require('./providers/environment/environment-provider.cjs');
584
586
  const useEnvironmentContext = require('./providers/environment/use-environment-context.cjs');
@@ -667,6 +669,7 @@ exports.useCheckboxContext = useCheckboxContext.useCheckboxContext;
667
669
  exports.useCheckboxGroup = useCheckboxGroup.useCheckboxGroup;
668
670
  exports.useCheckboxGroupContext = useCheckboxGroupContext.useCheckboxGroupContext;
669
671
  exports.Checkbox = checkbox;
672
+ exports.ClientOnly = clientOnly.ClientOnly;
670
673
  exports.ClipboardContext = clipboardContext.ClipboardContext;
671
674
  exports.ClipboardControl = clipboardControl.ClipboardControl;
672
675
  exports.ClipboardIndicator = clipboardIndicator.ClipboardIndicator;
@@ -724,6 +727,7 @@ exports.useColorPicker = useColorPicker.useColorPicker;
724
727
  exports.useColorPickerContext = useColorPickerContext.useColorPickerContext;
725
728
  exports.ColorPicker = colorPicker$1;
726
729
  exports.createListCollection = collection.createListCollection;
730
+ exports.createTreeCollection = collection.createTreeCollection;
727
731
  exports.ComboboxClearTrigger = comboboxClearTrigger.ComboboxClearTrigger;
728
732
  exports.ComboboxContent = comboboxContent.ComboboxContent;
729
733
  exports.ComboboxContext = comboboxContext.ComboboxContext;
@@ -817,6 +821,7 @@ exports.FieldRoot = fieldRoot.FieldRoot;
817
821
  exports.FieldRootProvider = fieldRootProvider.FieldRootProvider;
818
822
  exports.FieldSelect = fieldSelect.FieldSelect;
819
823
  exports.FieldTextarea = fieldTextarea.FieldTextarea;
824
+ exports.FieldRequiredIndicator = fieldRequiredIndicator.FieldRequiredIndicator;
820
825
  exports.fieldAnatomy = field_anatomy.fieldAnatomy;
821
826
  exports.useFieldContext = useFieldContext.useFieldContext;
822
827
  exports.Field = field;
@@ -1045,6 +1050,7 @@ exports.useSignaturePadContext = useSignaturePadContext.useSignaturePadContext;
1045
1050
  exports.SignaturePad = signaturePad$1;
1046
1051
  exports.SliderContext = sliderContext.SliderContext;
1047
1052
  exports.SliderControl = sliderControl.SliderControl;
1053
+ exports.SliderDraggingIndicator = sliderDraggingIndicator.SliderDraggingIndicator;
1048
1054
  exports.SliderHiddenInput = sliderHiddenInput.SliderHiddenInput;
1049
1055
  exports.SliderLabel = sliderLabel.SliderLabel;
1050
1056
  exports.SliderMarker = sliderMarker.SliderMarker;
@@ -1191,21 +1197,20 @@ exports.Tooltip = tooltip$1;
1191
1197
  exports.TreeViewBranch = treeViewBranch.TreeViewBranch;
1192
1198
  exports.TreeViewBranchContent = treeViewBranchContent.TreeViewBranchContent;
1193
1199
  exports.TreeViewBranchControl = treeViewBranchControl.TreeViewBranchControl;
1200
+ exports.TreeViewBranchIndentGuide = treeViewBranchIndentGuide.TreeViewBranchIndentGuide;
1194
1201
  exports.TreeViewBranchIndicator = treeViewBranchIndicator.TreeViewBranchIndicator;
1195
1202
  exports.TreeViewBranchText = treeViewBranchText.TreeViewBranchText;
1196
1203
  exports.TreeViewBranchTrigger = treeViewBranchTrigger.TreeViewBranchTrigger;
1197
- exports.TreeViewContext = treeViewContext.TreeViewContext;
1198
1204
  exports.TreeViewItem = treeViewItem.TreeViewItem;
1199
- exports.TreeViewItemContext = treeViewItemContext.TreeViewItemContext;
1200
1205
  exports.TreeViewItemIndicator = treeViewItemIndicator.TreeViewItemIndicator;
1201
1206
  exports.TreeViewItemText = treeViewItemText.TreeViewItemText;
1202
1207
  exports.TreeViewLabel = treeViewLabel.TreeViewLabel;
1208
+ exports.TreeViewNodeContext = treeViewNodeContext.TreeViewNodeContext;
1209
+ exports.TreeViewNodeProvider = treeViewNodeProvider.TreeViewNodeProvider;
1203
1210
  exports.TreeViewRoot = treeViewRoot.TreeViewRoot;
1204
1211
  exports.TreeViewRootProvider = treeViewRootProvider.TreeViewRootProvider;
1205
1212
  exports.TreeViewTree = treeViewTree.TreeViewTree;
1206
1213
  exports.useTreeView = useTreeView.useTreeView;
1207
- exports.useTreeViewContext = useTreeViewContext.useTreeViewContext;
1208
- exports.useTreeViewItemContext = useTreeViewItemContext.useTreeViewItemContext;
1209
1214
  exports.TreeView = treeView$1;
1210
1215
  exports.EnvironmentProvider = environmentProvider.EnvironmentProvider;
1211
1216
  exports.useEnvironmentContext = useEnvironmentContext.useEnvironmentContext;
package/dist/index.js CHANGED
@@ -51,6 +51,7 @@ export { useCheckboxGroup } from './components/checkbox/use-checkbox-group.js';
51
51
  export { useCheckboxGroupContext } from './components/checkbox/use-checkbox-group-context.js';
52
52
  import * as checkbox from './components/checkbox/checkbox.js';
53
53
  export { checkbox as Checkbox };
54
+ export { ClientOnly } from './components/client-only/client-only.js';
54
55
  export { ClipboardContext } from './components/clipboard/clipboard-context.js';
55
56
  export { ClipboardControl } from './components/clipboard/clipboard-control.js';
56
57
  export { ClipboardIndicator } from './components/clipboard/clipboard-indicator.js';
@@ -107,7 +108,7 @@ export { useColorPicker } from './components/color-picker/use-color-picker.js';
107
108
  export { useColorPickerContext } from './components/color-picker/use-color-picker-context.js';
108
109
  import * as colorPicker from './components/color-picker/color-picker.js';
109
110
  export { colorPicker as ColorPicker };
110
- export { createListCollection } from './components/collection.js';
111
+ export { createListCollection, createTreeCollection } from './components/collection.js';
111
112
  export { ComboboxClearTrigger } from './components/combobox/combobox-clear-trigger.js';
112
113
  export { ComboboxContent } from './components/combobox/combobox-content.js';
113
114
  export { ComboboxContext } from './components/combobox/combobox-context.js';
@@ -201,6 +202,7 @@ export { FieldRoot } from './components/field/field-root.js';
201
202
  export { FieldRootProvider } from './components/field/field-root-provider.js';
202
203
  export { FieldSelect } from './components/field/field-select.js';
203
204
  export { FieldTextarea } from './components/field/field-textarea.js';
205
+ export { FieldRequiredIndicator } from './components/field/field-required-indicator.js';
204
206
  export { fieldAnatomy } from './components/field/field.anatomy.js';
205
207
  export { useFieldContext } from './components/field/use-field-context.js';
206
208
  import * as field from './components/field/field.js';
@@ -445,6 +447,7 @@ import * as signaturePad from './components/signature-pad/signature-pad.js';
445
447
  export { signaturePad as SignaturePad };
446
448
  export { SliderContext } from './components/slider/slider-context.js';
447
449
  export { SliderControl } from './components/slider/slider-control.js';
450
+ export { SliderDraggingIndicator } from './components/slider/slider-dragging-indicator.js';
448
451
  export { SliderHiddenInput } from './components/slider/slider-hidden-input.js';
449
452
  export { SliderLabel } from './components/slider/slider-label.js';
450
453
  export { SliderMarker } from './components/slider/slider-marker.js';
@@ -600,21 +603,20 @@ export { tooltip as Tooltip };
600
603
  export { TreeViewBranch } from './components/tree-view/tree-view-branch.js';
601
604
  export { TreeViewBranchContent } from './components/tree-view/tree-view-branch-content.js';
602
605
  export { TreeViewBranchControl } from './components/tree-view/tree-view-branch-control.js';
606
+ export { TreeViewBranchIndentGuide } from './components/tree-view/tree-view-branch-indent-guide.js';
603
607
  export { TreeViewBranchIndicator } from './components/tree-view/tree-view-branch-indicator.js';
604
608
  export { TreeViewBranchText } from './components/tree-view/tree-view-branch-text.js';
605
609
  export { TreeViewBranchTrigger } from './components/tree-view/tree-view-branch-trigger.js';
606
- export { TreeViewContext } from './components/tree-view/tree-view-context.js';
607
610
  export { TreeViewItem } from './components/tree-view/tree-view-item.js';
608
- export { TreeViewItemContext } from './components/tree-view/tree-view-item-context.js';
609
611
  export { TreeViewItemIndicator } from './components/tree-view/tree-view-item-indicator.js';
610
612
  export { TreeViewItemText } from './components/tree-view/tree-view-item-text.js';
611
613
  export { TreeViewLabel } from './components/tree-view/tree-view-label.js';
614
+ export { TreeViewNodeContext } from './components/tree-view/tree-view-node-context.js';
615
+ export { TreeViewNodeProvider } from './components/tree-view/tree-view-node-provider.js';
612
616
  export { TreeViewRoot } from './components/tree-view/tree-view-root.js';
613
617
  export { TreeViewRootProvider } from './components/tree-view/tree-view-root-provider.js';
614
618
  export { TreeViewTree } from './components/tree-view/tree-view-tree.js';
615
619
  export { useTreeView } from './components/tree-view/use-tree-view.js';
616
- export { useTreeViewContext } from './components/tree-view/use-tree-view-context.js';
617
- export { useTreeViewItemContext } from './components/tree-view/use-tree-view-item-context.js';
618
620
  import * as treeView from './components/tree-view/tree-view.js';
619
621
  export { treeView as TreeView };
620
622
  export { EnvironmentProvider } from './providers/environment/environment-provider.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ark-ui/react",
3
- "version": "4.1.2",
3
+ "version": "4.3.0",
4
4
  "description": "A collection of unstyled, accessible UI components for React, utilizing state machines for seamless interaction.",
5
5
  "keywords": [
6
6
  "accordion",
@@ -149,86 +149,87 @@
149
149
  "sideEffects": false,
150
150
  "dependencies": {
151
151
  "@internationalized/date": "3.5.6",
152
- "@zag-js/accordion": "0.74.2",
153
- "@zag-js/anatomy": "0.74.2",
154
- "@zag-js/avatar": "0.74.2",
155
- "@zag-js/carousel": "0.74.2",
156
- "@zag-js/checkbox": "0.74.2",
157
- "@zag-js/clipboard": "0.74.2",
158
- "@zag-js/collapsible": "0.74.2",
159
- "@zag-js/collection": "0.74.2",
160
- "@zag-js/color-picker": "0.74.2",
161
- "@zag-js/color-utils": "0.74.2",
162
- "@zag-js/combobox": "0.74.2",
163
- "@zag-js/core": "0.74.2",
164
- "@zag-js/date-picker": "0.74.2",
165
- "@zag-js/date-utils": "0.74.2",
166
- "@zag-js/dialog": "0.74.2",
167
- "@zag-js/dom-query": "0.74.2",
168
- "@zag-js/editable": "0.74.2",
169
- "@zag-js/file-upload": "0.74.2",
170
- "@zag-js/file-utils": "0.74.2",
171
- "@zag-js/highlight-word": "0.74.2",
172
- "@zag-js/hover-card": "0.74.2",
173
- "@zag-js/i18n-utils": "0.74.2",
174
- "@zag-js/menu": "0.74.2",
175
- "@zag-js/number-input": "0.74.2",
176
- "@zag-js/pagination": "0.74.2",
177
- "@zag-js/pin-input": "0.74.2",
178
- "@zag-js/popover": "0.74.2",
179
- "@zag-js/presence": "0.74.2",
180
- "@zag-js/progress": "0.74.2",
181
- "@zag-js/qr-code": "0.74.2",
182
- "@zag-js/radio-group": "0.74.2",
183
- "@zag-js/rating-group": "0.74.2",
184
- "@zag-js/react": "0.74.2",
185
- "@zag-js/select": "0.74.2",
186
- "@zag-js/signature-pad": "0.74.2",
187
- "@zag-js/slider": "0.74.2",
188
- "@zag-js/splitter": "0.74.2",
189
- "@zag-js/steps": "0.74.2",
190
- "@zag-js/switch": "0.74.2",
191
- "@zag-js/tabs": "0.74.2",
192
- "@zag-js/tags-input": "0.74.2",
193
- "@zag-js/time-picker": "0.74.2",
194
- "@zag-js/timer": "0.74.2",
195
- "@zag-js/toast": "0.74.2",
196
- "@zag-js/toggle-group": "0.74.2",
197
- "@zag-js/tooltip": "0.74.2",
198
- "@zag-js/tree-view": "0.74.2",
199
- "@zag-js/types": "0.74.2"
152
+ "@zag-js/accordion": "0.77.0",
153
+ "@zag-js/anatomy": "0.77.0",
154
+ "@zag-js/auto-resize": "0.77.0",
155
+ "@zag-js/avatar": "0.77.0",
156
+ "@zag-js/carousel": "0.77.0",
157
+ "@zag-js/checkbox": "0.77.0",
158
+ "@zag-js/clipboard": "0.77.0",
159
+ "@zag-js/collapsible": "0.77.0",
160
+ "@zag-js/collection": "0.77.0",
161
+ "@zag-js/color-picker": "0.77.0",
162
+ "@zag-js/color-utils": "0.77.0",
163
+ "@zag-js/combobox": "0.77.0",
164
+ "@zag-js/core": "0.77.0",
165
+ "@zag-js/date-picker": "0.77.0",
166
+ "@zag-js/date-utils": "0.77.0",
167
+ "@zag-js/dialog": "0.77.0",
168
+ "@zag-js/dom-query": "0.77.0",
169
+ "@zag-js/editable": "0.77.0",
170
+ "@zag-js/file-upload": "0.77.0",
171
+ "@zag-js/file-utils": "0.77.0",
172
+ "@zag-js/highlight-word": "0.77.0",
173
+ "@zag-js/hover-card": "0.77.0",
174
+ "@zag-js/i18n-utils": "0.77.0",
175
+ "@zag-js/menu": "0.77.0",
176
+ "@zag-js/number-input": "0.77.0",
177
+ "@zag-js/pagination": "0.77.0",
178
+ "@zag-js/pin-input": "0.77.0",
179
+ "@zag-js/popover": "0.77.0",
180
+ "@zag-js/presence": "0.77.0",
181
+ "@zag-js/progress": "0.77.0",
182
+ "@zag-js/qr-code": "0.77.0",
183
+ "@zag-js/radio-group": "0.77.0",
184
+ "@zag-js/rating-group": "0.77.0",
185
+ "@zag-js/react": "0.77.0",
186
+ "@zag-js/select": "0.77.0",
187
+ "@zag-js/signature-pad": "0.77.0",
188
+ "@zag-js/slider": "0.77.0",
189
+ "@zag-js/splitter": "0.77.0",
190
+ "@zag-js/steps": "0.77.0",
191
+ "@zag-js/switch": "0.77.0",
192
+ "@zag-js/tabs": "0.77.0",
193
+ "@zag-js/tags-input": "0.77.0",
194
+ "@zag-js/time-picker": "0.77.0",
195
+ "@zag-js/timer": "0.77.0",
196
+ "@zag-js/toast": "0.77.0",
197
+ "@zag-js/toggle-group": "0.77.0",
198
+ "@zag-js/tooltip": "0.77.0",
199
+ "@zag-js/tree-view": "0.77.0",
200
+ "@zag-js/types": "0.77.0"
200
201
  },
201
202
  "devDependencies": {
202
- "@biomejs/biome": "1.9.3",
203
+ "@biomejs/biome": "1.9.4",
203
204
  "@release-it/keep-a-changelog": "5.0.0",
204
- "@storybook/addon-a11y": "8.3.5",
205
- "@storybook/addon-essentials": "8.3.5",
206
- "@storybook/react-vite": "8.3.5",
207
- "@storybook/react": "8.3.5",
205
+ "@storybook/addon-a11y": "8.4.2",
206
+ "@storybook/addon-essentials": "8.4.2",
207
+ "@storybook/react-vite": "8.4.2",
208
+ "@storybook/react": "8.4.2",
208
209
  "@testing-library/dom": "10.4.0",
209
- "@testing-library/jest-dom": "6.5.0",
210
+ "@testing-library/jest-dom": "6.6.1",
210
211
  "@testing-library/react": "16.0.1",
211
212
  "@testing-library/user-event": "14.5.2",
212
213
  "@types/jsdom": "21.1.7",
213
- "@types/react": "18.3.11",
214
+ "@types/react": "18.3.12",
214
215
  "@types/react-dom": "18.3.1",
215
- "@vitejs/plugin-react": "4.3.2",
216
- "@zag-js/stringify-state": "0.74.2",
216
+ "@vitejs/plugin-react": "4.3.3",
217
+ "@zag-js/stringify-state": "0.77.0",
217
218
  "clean-package": "2.2.0",
218
219
  "globby": "14.0.2",
219
220
  "jsdom": "25.0.1",
220
- "lucide-react": "0.452.0",
221
+ "lucide-react": "0.456.0",
221
222
  "react": "18.3.1",
222
223
  "react-dom": "18.3.1",
223
224
  "react-frame-component": "5.2.7",
224
- "react-hook-form": "7.53.0",
225
- "release-it": "17.8.2",
225
+ "react-hook-form": "7.53.1",
226
+ "release-it": "17.10.0",
226
227
  "resize-observer-polyfill": "1.5.1",
227
- "storybook": "8.3.5",
228
+ "storybook": "8.4.2",
228
229
  "typescript": "5.6.3",
229
- "vite": "5.4.8",
230
- "vite-plugin-dts": "4.2.4",
231
- "vitest": "2.1.2",
230
+ "vite": "5.4.10",
231
+ "vite-plugin-dts": "4.3.0",
232
+ "vitest": "2.1.4",
232
233
  "vitest-axe": "1.0.0-pre.3"
233
234
  },
234
235
  "peerDependencies": {
@@ -1,10 +0,0 @@
1
- 'use client';
2
- 'use strict';
3
-
4
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
-
6
- const useTreeViewItemContext = require('./use-tree-view-item-context.cjs');
7
-
8
- const TreeViewItemContext = (props) => props.children(useTreeViewItemContext.useTreeViewItemContext());
9
-
10
- exports.TreeViewItemContext = TreeViewItemContext;
@@ -1,6 +0,0 @@
1
- import { ReactNode } from 'react';
2
- import { UseTreeViewItemContext } from './use-tree-view-item-context';
3
- export interface TreeViewItemContextProps {
4
- children: (context: UseTreeViewItemContext) => ReactNode;
5
- }
6
- export declare const TreeViewItemContext: (props: TreeViewItemContextProps) => ReactNode;
@@ -1,6 +0,0 @@
1
- import { ReactNode } from 'react';
2
- import { UseTreeViewItemContext } from './use-tree-view-item-context';
3
- export interface TreeViewItemContextProps {
4
- children: (context: UseTreeViewItemContext) => ReactNode;
5
- }
6
- export declare const TreeViewItemContext: (props: TreeViewItemContextProps) => ReactNode;
@@ -1,6 +0,0 @@
1
- 'use client';
2
- import { useTreeViewItemContext } from './use-tree-view-item-context.js';
3
-
4
- const TreeViewItemContext = (props) => props.children(useTreeViewItemContext());
5
-
6
- export { TreeViewItemContext };
@@ -1,15 +0,0 @@
1
- 'use client';
2
- 'use strict';
3
-
4
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
-
6
- const createContext = require('../../utils/create-context.cjs');
7
-
8
- const [TreeViewBranchProvider, useTreeViewBranchContext] = createContext.createContext({
9
- name: "TreeViewBranchContext",
10
- hookName: "useTreeViewBranchContext",
11
- providerName: "<TreeViewBranchProvider />"
12
- });
13
-
14
- exports.TreeViewBranchProvider = TreeViewBranchProvider;
15
- exports.useTreeViewBranchContext = useTreeViewBranchContext;
@@ -1,7 +0,0 @@
1
- import { ItemProps as ZagItemProps } from '@zag-js/tree-view';
2
- import { Provider } from 'react';
3
- export interface ItemProps extends Omit<ZagItemProps, 'depth'> {
4
- }
5
- export interface UseTreeViewBranchContext extends ZagItemProps {
6
- }
7
- export declare const TreeViewBranchProvider: Provider<UseTreeViewBranchContext>, useTreeViewBranchContext: () => UseTreeViewBranchContext;
@@ -1,7 +0,0 @@
1
- import { ItemProps as ZagItemProps } from '@zag-js/tree-view';
2
- import { Provider } from 'react';
3
- export interface ItemProps extends Omit<ZagItemProps, 'depth'> {
4
- }
5
- export interface UseTreeViewBranchContext extends ZagItemProps {
6
- }
7
- export declare const TreeViewBranchProvider: Provider<UseTreeViewBranchContext>, useTreeViewBranchContext: () => UseTreeViewBranchContext;
@@ -1,10 +0,0 @@
1
- 'use client';
2
- import { createContext } from '../../utils/create-context.js';
3
-
4
- const [TreeViewBranchProvider, useTreeViewBranchContext] = createContext({
5
- name: "TreeViewBranchContext",
6
- hookName: "useTreeViewBranchContext",
7
- providerName: "<TreeViewBranchProvider />"
8
- });
9
-
10
- export { TreeViewBranchProvider, useTreeViewBranchContext };
@@ -1,15 +0,0 @@
1
- 'use client';
2
- 'use strict';
3
-
4
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
-
6
- const createContext = require('../../utils/create-context.cjs');
7
-
8
- const [TreeViewDepthProvider, useTreeViewDepthContext] = createContext.createContext({
9
- name: "TreeViewDepthContext",
10
- hookName: "useTreeViewDepthContext",
11
- providerName: "<TreeViewDepthProvider />"
12
- });
13
-
14
- exports.TreeViewDepthProvider = TreeViewDepthProvider;
15
- exports.useTreeViewDepthContext = useTreeViewDepthContext;
@@ -1,3 +0,0 @@
1
- import { Provider } from 'react';
2
- export type UseTreeViewDepthContext = number;
3
- export declare const TreeViewDepthProvider: Provider<number>, useTreeViewDepthContext: () => number;
@@ -1,3 +0,0 @@
1
- import { Provider } from 'react';
2
- export type UseTreeViewDepthContext = number;
3
- export declare const TreeViewDepthProvider: Provider<number>, useTreeViewDepthContext: () => number;
@@ -1,10 +0,0 @@
1
- 'use client';
2
- import { createContext } from '../../utils/create-context.js';
3
-
4
- const [TreeViewDepthProvider, useTreeViewDepthContext] = createContext({
5
- name: "TreeViewDepthContext",
6
- hookName: "useTreeViewDepthContext",
7
- providerName: "<TreeViewDepthProvider />"
8
- });
9
-
10
- export { TreeViewDepthProvider, useTreeViewDepthContext };
@@ -1,17 +0,0 @@
1
- 'use client';
2
- 'use strict';
3
-
4
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
-
6
- const createContext = require('../../utils/create-context.cjs');
7
-
8
- const [TreeViewItemProvider, useTreeViewItemContext] = createContext.createContext(
9
- {
10
- name: "TreeViewItemContext",
11
- hookName: "useTreeViewItemContext",
12
- providerName: "<TreeViewItemProvider />"
13
- }
14
- );
15
-
16
- exports.TreeViewItemProvider = TreeViewItemProvider;
17
- exports.useTreeViewItemContext = useTreeViewItemContext;
@@ -1,5 +0,0 @@
1
- import { ItemState } from '@zag-js/tree-view';
2
- import { Provider } from 'react';
3
- export interface UseTreeViewItemContext extends ItemState {
4
- }
5
- export declare const TreeViewItemProvider: Provider<UseTreeViewItemContext>, useTreeViewItemContext: () => UseTreeViewItemContext;
@@ -1,5 +0,0 @@
1
- import { ItemState } from '@zag-js/tree-view';
2
- import { Provider } from 'react';
3
- export interface UseTreeViewItemContext extends ItemState {
4
- }
5
- export declare const TreeViewItemProvider: Provider<UseTreeViewItemContext>, useTreeViewItemContext: () => UseTreeViewItemContext;
@@ -1,12 +0,0 @@
1
- 'use client';
2
- import { createContext } from '../../utils/create-context.js';
3
-
4
- const [TreeViewItemProvider, useTreeViewItemContext] = createContext(
5
- {
6
- name: "TreeViewItemContext",
7
- hookName: "useTreeViewItemContext",
8
- providerName: "<TreeViewItemProvider />"
9
- }
10
- );
11
-
12
- export { TreeViewItemProvider, useTreeViewItemContext };
@@ -1,15 +0,0 @@
1
- 'use client';
2
- 'use strict';
3
-
4
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
-
6
- const createContext = require('../../utils/create-context.cjs');
7
-
8
- const [TreeViewItemPropsProvider, useTreeViewItemPropsContext] = createContext.createContext({
9
- name: "TreeViewItemPropsContext",
10
- hookName: "useTreeViewItemPropsContext",
11
- providerName: "<TreeViewItemProvider />"
12
- });
13
-
14
- exports.TreeViewItemPropsProvider = TreeViewItemPropsProvider;
15
- exports.useTreeViewItemPropsContext = useTreeViewItemPropsContext;
@@ -1,5 +0,0 @@
1
- import { ItemProps } from '@zag-js/tree-view';
2
- import { Provider } from 'react';
3
- export interface UseTreeViewItemPropsContext extends Omit<ItemProps, 'depth'> {
4
- }
5
- export declare const TreeViewItemPropsProvider: Provider<ItemProps>, useTreeViewItemPropsContext: () => ItemProps;
@@ -1,5 +0,0 @@
1
- import { ItemProps } from '@zag-js/tree-view';
2
- import { Provider } from 'react';
3
- export interface UseTreeViewItemPropsContext extends Omit<ItemProps, 'depth'> {
4
- }
5
- export declare const TreeViewItemPropsProvider: Provider<ItemProps>, useTreeViewItemPropsContext: () => ItemProps;
@@ -1,10 +0,0 @@
1
- 'use client';
2
- import { createContext } from '../../utils/create-context.js';
3
-
4
- const [TreeViewItemPropsProvider, useTreeViewItemPropsContext] = createContext({
5
- name: "TreeViewItemPropsContext",
6
- hookName: "useTreeViewItemPropsContext",
7
- providerName: "<TreeViewItemProvider />"
8
- });
9
-
10
- export { TreeViewItemPropsProvider, useTreeViewItemPropsContext };