@ark-ui/react 5.16.1 → 5.18.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 (87) hide show
  1. package/dist/components/checkbox/checkbox-group-provider.cjs +19 -0
  2. package/dist/components/checkbox/checkbox-group-provider.d.cts +13 -0
  3. package/dist/components/checkbox/checkbox-group-provider.d.ts +13 -0
  4. package/dist/components/checkbox/checkbox-group-provider.js +15 -0
  5. package/dist/components/checkbox/checkbox.cjs +2 -0
  6. package/dist/components/checkbox/checkbox.d.cts +1 -0
  7. package/dist/components/checkbox/checkbox.d.ts +1 -0
  8. package/dist/components/checkbox/checkbox.js +1 -0
  9. package/dist/components/checkbox/index.cjs +2 -0
  10. package/dist/components/checkbox/index.d.cts +1 -0
  11. package/dist/components/checkbox/index.d.ts +1 -0
  12. package/dist/components/checkbox/index.js +1 -0
  13. package/dist/components/collection/index.cjs +2 -0
  14. package/dist/components/collection/index.d.cts +2 -1
  15. package/dist/components/collection/index.d.ts +2 -1
  16. package/dist/components/collection/index.js +1 -0
  17. package/dist/components/collection/use-list-selection.cjs +96 -0
  18. package/dist/components/collection/use-list-selection.d.cts +103 -0
  19. package/dist/components/collection/use-list-selection.d.ts +103 -0
  20. package/dist/components/collection/use-list-selection.js +92 -0
  21. package/dist/components/color-picker/color-picker-value-text.cjs +3 -3
  22. package/dist/components/color-picker/color-picker-value-text.js +3 -3
  23. package/dist/components/field/use-field.cjs +2 -1
  24. package/dist/components/field/use-field.js +2 -1
  25. package/dist/components/fieldset/use-fieldset.cjs +2 -1
  26. package/dist/components/fieldset/use-fieldset.js +2 -1
  27. package/dist/components/file-upload/file-upload-root.cjs +2 -0
  28. package/dist/components/file-upload/file-upload-root.js +2 -0
  29. package/dist/components/file-upload/file-upload.d.cts +1 -1
  30. package/dist/components/file-upload/file-upload.d.ts +1 -1
  31. package/dist/components/file-upload/index.d.cts +1 -1
  32. package/dist/components/file-upload/index.d.ts +1 -1
  33. package/dist/components/index.cjs +12 -0
  34. package/dist/components/index.d.cts +1 -0
  35. package/dist/components/index.d.ts +1 -0
  36. package/dist/components/index.js +7 -0
  37. package/dist/components/json-tree-view/get-branch-value.cjs +19 -0
  38. package/dist/components/json-tree-view/get-branch-value.d.cts +3 -0
  39. package/dist/components/json-tree-view/get-branch-value.d.ts +3 -0
  40. package/dist/components/json-tree-view/get-branch-value.js +15 -0
  41. package/dist/components/json-tree-view/index.cjs +17 -0
  42. package/dist/components/json-tree-view/index.d.cts +5 -0
  43. package/dist/components/json-tree-view/index.d.ts +5 -0
  44. package/dist/components/json-tree-view/index.js +6 -0
  45. package/dist/components/json-tree-view/json-tree-view-key-node.cjs +18 -0
  46. package/dist/components/json-tree-view/json-tree-view-key-node.d.cts +13 -0
  47. package/dist/components/json-tree-view/json-tree-view-key-node.d.ts +13 -0
  48. package/dist/components/json-tree-view/json-tree-view-key-node.js +14 -0
  49. package/dist/components/json-tree-view/json-tree-view-node.cjs +62 -0
  50. package/dist/components/json-tree-view/json-tree-view-node.d.cts +20 -0
  51. package/dist/components/json-tree-view/json-tree-view-node.d.ts +20 -0
  52. package/dist/components/json-tree-view/json-tree-view-node.js +58 -0
  53. package/dist/components/json-tree-view/json-tree-view-props-context.cjs +15 -0
  54. package/dist/components/json-tree-view/json-tree-view-props-context.d.cts +9 -0
  55. package/dist/components/json-tree-view/json-tree-view-props-context.d.ts +9 -0
  56. package/dist/components/json-tree-view/json-tree-view-props-context.js +10 -0
  57. package/dist/components/json-tree-view/json-tree-view-root-provider.cjs +15 -0
  58. package/dist/components/json-tree-view/json-tree-view-root-provider.d.cts +6 -0
  59. package/dist/components/json-tree-view/json-tree-view-root-provider.d.ts +6 -0
  60. package/dist/components/json-tree-view/json-tree-view-root-provider.js +11 -0
  61. package/dist/components/json-tree-view/json-tree-view-root.cjs +48 -0
  62. package/dist/components/json-tree-view/json-tree-view-root.d.cts +15 -0
  63. package/dist/components/json-tree-view/json-tree-view-root.d.ts +15 -0
  64. package/dist/components/json-tree-view/json-tree-view-root.js +44 -0
  65. package/dist/components/json-tree-view/json-tree-view-tree.cjs +22 -0
  66. package/dist/components/json-tree-view/json-tree-view-tree.d.cts +6 -0
  67. package/dist/components/json-tree-view/json-tree-view-tree.d.ts +6 -0
  68. package/dist/components/json-tree-view/json-tree-view-tree.js +18 -0
  69. package/dist/components/json-tree-view/json-tree-view-value-node.cjs +26 -0
  70. package/dist/components/json-tree-view/json-tree-view-value-node.d.cts +7 -0
  71. package/dist/components/json-tree-view/json-tree-view-value-node.d.ts +7 -0
  72. package/dist/components/json-tree-view/json-tree-view-value-node.js +22 -0
  73. package/dist/components/json-tree-view/json-tree-view.cjs +13 -0
  74. package/dist/components/json-tree-view/json-tree-view.d.cts +3 -0
  75. package/dist/components/json-tree-view/json-tree-view.d.ts +3 -0
  76. package/dist/components/json-tree-view/json-tree-view.js +3 -0
  77. package/dist/components/json-tree-view/use-json-tree-view.cjs +32 -0
  78. package/dist/components/json-tree-view/use-json-tree-view.d.cts +9 -0
  79. package/dist/components/json-tree-view/use-json-tree-view.d.ts +9 -0
  80. package/dist/components/json-tree-view/use-json-tree-view.js +28 -0
  81. package/dist/components/signature-pad/signature-pad-root.cjs +2 -0
  82. package/dist/components/signature-pad/signature-pad-root.js +2 -0
  83. package/dist/components/tree-view/use-tree-view.d.cts +1 -1
  84. package/dist/components/tree-view/use-tree-view.d.ts +1 -1
  85. package/dist/index.cjs +12 -0
  86. package/dist/index.js +7 -0
  87. package/package.json +65 -64
@@ -10,7 +10,8 @@ const useFieldset = (props = {}) => {
10
10
  const env = useEnvironmentContext();
11
11
  const hasErrorText = useRef(false);
12
12
  const hasHelperText = useRef(false);
13
- const id = props.id ?? useId();
13
+ const uid = useId();
14
+ const id = props.id ?? uid;
14
15
  const rootRef = useRef(null);
15
16
  const errorTextId = `fieldset::${id}::error-text`;
16
17
  const helperTextId = `fieldset::${id}::helper-text`;
@@ -14,8 +14,10 @@ const useFileUploadContext = require('./use-file-upload-context.cjs');
14
14
  const FileUploadRoot = react.forwardRef((props, ref) => {
15
15
  const [useFileUploadProps, localProps] = createSplitProps.createSplitProps()(props, [
16
16
  "accept",
17
+ "acceptedFiles",
17
18
  "allowDrop",
18
19
  "capture",
20
+ "defaultAcceptedFiles",
19
21
  "directory",
20
22
  "disabled",
21
23
  "id",
@@ -10,8 +10,10 @@ import { FileUploadProvider } from './use-file-upload-context.js';
10
10
  const FileUploadRoot = forwardRef((props, ref) => {
11
11
  const [useFileUploadProps, localProps] = createSplitProps()(props, [
12
12
  "accept",
13
+ "acceptedFiles",
13
14
  "allowDrop",
14
15
  "capture",
16
+ "defaultAcceptedFiles",
15
17
  "directory",
16
18
  "disabled",
17
19
  "id",
@@ -1,4 +1,4 @@
1
- export type { FileAcceptDetails, FileChangeDetails, FileRejectDetails, FileValidateDetails } from '@zag-js/file-upload';
1
+ export type { FileAcceptDetails, FileChangeDetails, FileRejectDetails, FileValidateDetails, FileError, FileMimeType, FileRejection, } from '@zag-js/file-upload';
2
2
  export { FileUploadClearTrigger as ClearTrigger, type FileUploadClearTriggerBaseProps as ClearTriggerBaseProps, type FileUploadClearTriggerProps as ClearTriggerProps, } from './file-upload-clear-trigger';
3
3
  export { FileUploadContext as Context, type FileUploadContextProps as ContextProps } from './file-upload-context';
4
4
  export { FileUploadDropzone as Dropzone, type FileUploadDropzoneBaseProps as DropzoneBaseProps, type FileUploadDropzoneProps as DropzoneProps, } from './file-upload-dropzone';
@@ -1,4 +1,4 @@
1
- export type { FileAcceptDetails, FileChangeDetails, FileRejectDetails, FileValidateDetails } from '@zag-js/file-upload';
1
+ export type { FileAcceptDetails, FileChangeDetails, FileRejectDetails, FileValidateDetails, FileError, FileMimeType, FileRejection, } from '@zag-js/file-upload';
2
2
  export { FileUploadClearTrigger as ClearTrigger, type FileUploadClearTriggerBaseProps as ClearTriggerBaseProps, type FileUploadClearTriggerProps as ClearTriggerProps, } from './file-upload-clear-trigger';
3
3
  export { FileUploadContext as Context, type FileUploadContextProps as ContextProps } from './file-upload-context';
4
4
  export { FileUploadDropzone as Dropzone, type FileUploadDropzoneBaseProps as DropzoneBaseProps, type FileUploadDropzoneProps as DropzoneProps, } from './file-upload-dropzone';
@@ -1,4 +1,4 @@
1
- export type { FileAcceptDetails as FileUploadFileAcceptDetails, FileChangeDetails as FileUploadFileChangeDetails, FileRejectDetails as FileUploadFileRejectDetails, FileValidateDetails as FileUploadFileValidateDetails, } from '@zag-js/file-upload';
1
+ export type { FileAcceptDetails as FileUploadFileAcceptDetails, FileChangeDetails as FileUploadFileChangeDetails, FileRejectDetails as FileUploadFileRejectDetails, FileValidateDetails as FileUploadFileValidateDetails, FileError as FileUploadFileError, FileMimeType as FileUploadFileMimeType, FileRejection as FileUploadFileRejection, } from '@zag-js/file-upload';
2
2
  export { FileUploadClearTrigger, type FileUploadClearTriggerBaseProps, type FileUploadClearTriggerProps, } from './file-upload-clear-trigger';
3
3
  export { FileUploadContext, type FileUploadContextProps } from './file-upload-context';
4
4
  export { FileUploadDropzone, type FileUploadDropzoneBaseProps, type FileUploadDropzoneProps, } from './file-upload-dropzone';
@@ -1,4 +1,4 @@
1
- export type { FileAcceptDetails as FileUploadFileAcceptDetails, FileChangeDetails as FileUploadFileChangeDetails, FileRejectDetails as FileUploadFileRejectDetails, FileValidateDetails as FileUploadFileValidateDetails, } from '@zag-js/file-upload';
1
+ export type { FileAcceptDetails as FileUploadFileAcceptDetails, FileChangeDetails as FileUploadFileChangeDetails, FileRejectDetails as FileUploadFileRejectDetails, FileValidateDetails as FileUploadFileValidateDetails, FileError as FileUploadFileError, FileMimeType as FileUploadFileMimeType, FileRejection as FileUploadFileRejection, } from '@zag-js/file-upload';
2
2
  export { FileUploadClearTrigger, type FileUploadClearTriggerBaseProps, type FileUploadClearTriggerProps, } from './file-upload-clear-trigger';
3
3
  export { FileUploadContext, type FileUploadContextProps } from './file-upload-context';
4
4
  export { FileUploadDropzone, type FileUploadDropzoneBaseProps, type FileUploadDropzoneProps, } from './file-upload-dropzone';
@@ -52,6 +52,7 @@ const carousel$1 = require('./carousel/carousel.cjs');
52
52
  const checkboxContext = require('./checkbox/checkbox-context.cjs');
53
53
  const checkboxControl = require('./checkbox/checkbox-control.cjs');
54
54
  const checkboxGroup = require('./checkbox/checkbox-group.cjs');
55
+ const checkboxGroupProvider = require('./checkbox/checkbox-group-provider.cjs');
55
56
  const checkboxHiddenInput = require('./checkbox/checkbox-hidden-input.cjs');
56
57
  const checkboxIndicator = require('./checkbox/checkbox-indicator.cjs');
57
58
  const checkboxLabel = require('./checkbox/checkbox-label.cjs');
@@ -323,6 +324,11 @@ const useMenu = require('./menu/use-menu.cjs');
323
324
  const useMenuContext = require('./menu/use-menu-context.cjs');
324
325
  const useMenuItemContext = require('./menu/use-menu-item-context.cjs');
325
326
  const menu$1 = require('./menu/menu.cjs');
327
+ const jsonTreeViewRoot = require('./json-tree-view/json-tree-view-root.cjs');
328
+ const jsonTreeViewRootProvider = require('./json-tree-view/json-tree-view-root-provider.cjs');
329
+ const jsonTreeViewTree = require('./json-tree-view/json-tree-view-tree.cjs');
330
+ const useJsonTreeView = require('./json-tree-view/use-json-tree-view.cjs');
331
+ const jsonTreeView = require('./json-tree-view/json-tree-view.cjs');
326
332
  const numberInputContext = require('./number-input/number-input-context.cjs');
327
333
  const numberInputControl = require('./number-input/number-input-control.cjs');
328
334
  const numberInputDecrementTrigger = require('./number-input/number-input-decrement-trigger.cjs');
@@ -763,6 +769,7 @@ exports.Carousel = carousel$1;
763
769
  exports.CheckboxContext = checkboxContext.CheckboxContext;
764
770
  exports.CheckboxControl = checkboxControl.CheckboxControl;
765
771
  exports.CheckboxGroup = checkboxGroup.CheckboxGroup;
772
+ exports.CheckboxGroupProvider = checkboxGroupProvider.CheckboxGroupProvider;
766
773
  exports.CheckboxHiddenInput = checkboxHiddenInput.CheckboxHiddenInput;
767
774
  exports.CheckboxIndicator = checkboxIndicator.CheckboxIndicator;
768
775
  exports.CheckboxLabel = checkboxLabel.CheckboxLabel;
@@ -1042,6 +1049,11 @@ exports.useMenu = useMenu.useMenu;
1042
1049
  exports.useMenuContext = useMenuContext.useMenuContext;
1043
1050
  exports.useMenuItemContext = useMenuItemContext.useMenuItemContext;
1044
1051
  exports.Menu = menu$1;
1052
+ exports.JsonTreeViewRoot = jsonTreeViewRoot.JsonTreeViewRoot;
1053
+ exports.JsonTreeViewRootProvider = jsonTreeViewRootProvider.JsonTreeViewRootProvider;
1054
+ exports.JsonTreeViewTree = jsonTreeViewTree.JsonTreeViewTree;
1055
+ exports.useJsonTreeView = useJsonTreeView.useJsonTreeView;
1056
+ exports.JsonTreeView = jsonTreeView;
1045
1057
  exports.NumberInputContext = numberInputContext.NumberInputContext;
1046
1058
  exports.NumberInputControl = numberInputControl.NumberInputControl;
1047
1059
  exports.NumberInputDecrementTrigger = numberInputDecrementTrigger.NumberInputDecrementTrigger;
@@ -24,6 +24,7 @@ export * from './highlight';
24
24
  export * from './hover-card';
25
25
  export * from './listbox';
26
26
  export * from './menu';
27
+ export * from './json-tree-view';
27
28
  export * from './number-input';
28
29
  export * from './pagination';
29
30
  export * from './password-input';
@@ -24,6 +24,7 @@ export * from './highlight';
24
24
  export * from './hover-card';
25
25
  export * from './listbox';
26
26
  export * from './menu';
27
+ export * from './json-tree-view';
27
28
  export * from './number-input';
28
29
  export * from './pagination';
29
30
  export * from './password-input';
@@ -52,6 +52,7 @@ export { carousel as Carousel };
52
52
  export { CheckboxContext } from './checkbox/checkbox-context.js';
53
53
  export { CheckboxControl } from './checkbox/checkbox-control.js';
54
54
  export { CheckboxGroup } from './checkbox/checkbox-group.js';
55
+ export { CheckboxGroupProvider } from './checkbox/checkbox-group-provider.js';
55
56
  export { CheckboxHiddenInput } from './checkbox/checkbox-hidden-input.js';
56
57
  export { CheckboxIndicator } from './checkbox/checkbox-indicator.js';
57
58
  export { CheckboxLabel } from './checkbox/checkbox-label.js';
@@ -339,6 +340,12 @@ export { useMenuContext } from './menu/use-menu-context.js';
339
340
  export { useMenuItemContext } from './menu/use-menu-item-context.js';
340
341
  import * as menu from './menu/menu.js';
341
342
  export { menu as Menu };
343
+ export { JsonTreeViewRoot } from './json-tree-view/json-tree-view-root.js';
344
+ export { JsonTreeViewRootProvider } from './json-tree-view/json-tree-view-root-provider.js';
345
+ export { JsonTreeViewTree } from './json-tree-view/json-tree-view-tree.js';
346
+ export { useJsonTreeView } from './json-tree-view/use-json-tree-view.js';
347
+ import * as jsonTreeView from './json-tree-view/json-tree-view.js';
348
+ export { jsonTreeView as JsonTreeView };
342
349
  export { NumberInputContext } from './number-input/number-input-context.js';
343
350
  export { NumberInputControl } from './number-input/number-input-control.js';
344
351
  export { NumberInputDecrementTrigger } from './number-input/number-input-decrement-trigger.js';
@@ -0,0 +1,19 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
+
6
+ function getBranchValues(tree, depth) {
7
+ let values = [];
8
+ tree.visit({
9
+ onEnter: (node, indexPath) => {
10
+ if (indexPath.length === 0) return;
11
+ if (tree.isBranchNode(node) && indexPath.length <= depth) {
12
+ values.push(tree.getNodeValue(node));
13
+ }
14
+ }
15
+ });
16
+ return values;
17
+ }
18
+
19
+ exports.getBranchValues = getBranchValues;
@@ -0,0 +1,3 @@
1
+ import { TreeCollection } from '@zag-js/collection';
2
+ import { JsonNode } from '@zag-js/json-tree-utils';
3
+ export declare function getBranchValues(tree: TreeCollection<JsonNode>, depth: number): string[];
@@ -0,0 +1,3 @@
1
+ import { TreeCollection } from '@zag-js/collection';
2
+ import { JsonNode } from '@zag-js/json-tree-utils';
3
+ export declare function getBranchValues(tree: TreeCollection<JsonNode>, depth: number): string[];
@@ -0,0 +1,15 @@
1
+ 'use client';
2
+ function getBranchValues(tree, depth) {
3
+ let values = [];
4
+ tree.visit({
5
+ onEnter: (node, indexPath) => {
6
+ if (indexPath.length === 0) return;
7
+ if (tree.isBranchNode(node) && indexPath.length <= depth) {
8
+ values.push(tree.getNodeValue(node));
9
+ }
10
+ }
11
+ });
12
+ return values;
13
+ }
14
+
15
+ export { getBranchValues };
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const jsonTreeViewRoot = require('./json-tree-view-root.cjs');
6
+ const jsonTreeViewRootProvider = require('./json-tree-view-root-provider.cjs');
7
+ const jsonTreeViewTree = require('./json-tree-view-tree.cjs');
8
+ const useJsonTreeView = require('./use-json-tree-view.cjs');
9
+ const jsonTreeView = require('./json-tree-view.cjs');
10
+
11
+
12
+
13
+ exports.JsonTreeViewRoot = jsonTreeViewRoot.JsonTreeViewRoot;
14
+ exports.JsonTreeViewRootProvider = jsonTreeViewRootProvider.JsonTreeViewRootProvider;
15
+ exports.JsonTreeViewTree = jsonTreeViewTree.JsonTreeViewTree;
16
+ exports.useJsonTreeView = useJsonTreeView.useJsonTreeView;
17
+ exports.JsonTreeView = jsonTreeView;
@@ -0,0 +1,5 @@
1
+ export { JsonTreeViewRoot, type JsonTreeViewRootProps } from './json-tree-view-root';
2
+ export { JsonTreeViewRootProvider, type JsonTreeViewRootProviderProps } from './json-tree-view-root-provider';
3
+ export { JsonTreeViewTree, type JsonTreeViewTreeProps } from './json-tree-view-tree';
4
+ export { useJsonTreeView, type UseJsonTreeViewProps, type UseJsonTreeViewReturn } from './use-json-tree-view';
5
+ export * as JsonTreeView from './json-tree-view';
@@ -0,0 +1,5 @@
1
+ export { JsonTreeViewRoot, type JsonTreeViewRootProps } from './json-tree-view-root';
2
+ export { JsonTreeViewRootProvider, type JsonTreeViewRootProviderProps } from './json-tree-view-root-provider';
3
+ export { JsonTreeViewTree, type JsonTreeViewTreeProps } from './json-tree-view-tree';
4
+ export { useJsonTreeView, type UseJsonTreeViewProps, type UseJsonTreeViewReturn } from './use-json-tree-view';
5
+ export * as JsonTreeView from './json-tree-view';
@@ -0,0 +1,6 @@
1
+ export { JsonTreeViewRoot } from './json-tree-view-root.js';
2
+ export { JsonTreeViewRootProvider } from './json-tree-view-root-provider.js';
3
+ export { JsonTreeViewTree } from './json-tree-view-tree.js';
4
+ export { useJsonTreeView } from './use-json-tree-view.js';
5
+ import * as jsonTreeView from './json-tree-view.js';
6
+ export { jsonTreeView as JsonTreeView };
@@ -0,0 +1,18 @@
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 jsonTreeUtils = require('@zag-js/json-tree-utils');
8
+
9
+ const JsonTreeViewKeyNode = (props) => {
10
+ const { node, showQuotes } = props;
11
+ const key = jsonTreeUtils.keyPathToKey(node.keyPath);
12
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
13
+ /* @__PURE__ */ jsxRuntime.jsx("span", { "data-kind": "key", suppressHydrationWarning: true, "data-non-enumerable": node.isNonEnumerable ? "" : void 0, children: showQuotes ? `"${key}"` : key }),
14
+ /* @__PURE__ */ jsxRuntime.jsx("span", { "data-kind": "colon", children: ": " })
15
+ ] });
16
+ };
17
+
18
+ exports.JsonTreeViewKeyNode = JsonTreeViewKeyNode;
@@ -0,0 +1,13 @@
1
+ import { JsonNode } from '@zag-js/json-tree-utils';
2
+ interface JsonTreeViewKeyNodeProps {
3
+ /**
4
+ * The node to render.
5
+ */
6
+ node: JsonNode;
7
+ /**
8
+ * Whether to show quotes on the key.
9
+ */
10
+ showQuotes?: boolean;
11
+ }
12
+ export declare const JsonTreeViewKeyNode: (props: JsonTreeViewKeyNodeProps) => React.ReactNode;
13
+ export {};
@@ -0,0 +1,13 @@
1
+ import { JsonNode } from '@zag-js/json-tree-utils';
2
+ interface JsonTreeViewKeyNodeProps {
3
+ /**
4
+ * The node to render.
5
+ */
6
+ node: JsonNode;
7
+ /**
8
+ * Whether to show quotes on the key.
9
+ */
10
+ showQuotes?: boolean;
11
+ }
12
+ export declare const JsonTreeViewKeyNode: (props: JsonTreeViewKeyNodeProps) => React.ReactNode;
13
+ export {};
@@ -0,0 +1,14 @@
1
+ 'use client';
2
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
3
+ import { keyPathToKey } from '@zag-js/json-tree-utils';
4
+
5
+ const JsonTreeViewKeyNode = (props) => {
6
+ const { node, showQuotes } = props;
7
+ const key = keyPathToKey(node.keyPath);
8
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
9
+ /* @__PURE__ */ jsx("span", { "data-kind": "key", suppressHydrationWarning: true, "data-non-enumerable": node.isNonEnumerable ? "" : void 0, children: showQuotes ? `"${key}"` : key }),
10
+ /* @__PURE__ */ jsx("span", { "data-kind": "colon", children: ": " })
11
+ ] });
12
+ };
13
+
14
+ export { JsonTreeViewKeyNode };
@@ -0,0 +1,62 @@
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 jsonTreeUtils = require('@zag-js/json-tree-utils');
8
+ const react = require('react');
9
+ const treeViewBranch = require('../tree-view/tree-view-branch.cjs');
10
+ const treeViewBranchContent = require('../tree-view/tree-view-branch-content.cjs');
11
+ const treeViewBranchControl = require('../tree-view/tree-view-branch-control.cjs');
12
+ const treeViewBranchIndentGuide = require('../tree-view/tree-view-branch-indent-guide.cjs');
13
+ const treeViewBranchIndicator = require('../tree-view/tree-view-branch-indicator.cjs');
14
+ const treeViewBranchText = require('../tree-view/tree-view-branch-text.cjs');
15
+ const treeViewItem = require('../tree-view/tree-view-item.cjs');
16
+ const treeViewItemText = require('../tree-view/tree-view-item-text.cjs');
17
+ const treeViewNodeProvider = require('../tree-view/tree-view-node-provider.cjs');
18
+ const useTreeViewContext = require('../tree-view/use-tree-view-context.cjs');
19
+ const jsonTreeViewKeyNode = require('./json-tree-view-key-node.cjs');
20
+ const jsonTreeViewPropsContext = require('./json-tree-view-props-context.cjs');
21
+ const jsonTreeViewValueNode = require('./json-tree-view-value-node.cjs');
22
+
23
+ const scopeProps = {
24
+ "data-scope": "json-tree-view"
25
+ };
26
+ function JsonTreeViewNode(props) {
27
+ const { node, indexPath, arrow, indentGuide, renderValue } = props;
28
+ const options = jsonTreeViewPropsContext.useJsonTreeViewPropsContext();
29
+ const tree = useTreeViewContext.useTreeViewContext();
30
+ const nodeState = tree.getNodeState({ node, indexPath });
31
+ const key = jsonTreeUtils.keyPathToKey(node.keyPath, { excludeRoot: true });
32
+ const valueNode = react.useMemo(() => jsonTreeUtils.jsonNodeToElement(node, options), [node, options]);
33
+ const nodeProps = react.useMemo(() => {
34
+ const desc = jsonTreeUtils.getAccessibleDescription(node);
35
+ const line = indexPath.reduce((acc, curr) => acc + curr, 1);
36
+ const lineLength = indexPath.length - 1;
37
+ return {
38
+ ...scopeProps,
39
+ "aria-label": desc,
40
+ "data-line": line,
41
+ style: { ["--line-length"]: lineLength }
42
+ };
43
+ }, [indexPath, node]);
44
+ return /* @__PURE__ */ jsxRuntime.jsx(treeViewNodeProvider.TreeViewNodeProvider, { node, indexPath, children: nodeState.isBranch ? /* @__PURE__ */ jsxRuntime.jsxs(treeViewBranch.TreeViewBranch, { ...scopeProps, children: [
45
+ /* @__PURE__ */ jsxRuntime.jsxs(treeViewBranchControl.TreeViewBranchControl, { ...nodeProps, children: [
46
+ arrow && /* @__PURE__ */ jsxRuntime.jsx(treeViewBranchIndicator.TreeViewBranchIndicator, { ...scopeProps, children: arrow }),
47
+ /* @__PURE__ */ jsxRuntime.jsxs(treeViewBranchText.TreeViewBranchText, { ...scopeProps, children: [
48
+ key && /* @__PURE__ */ jsxRuntime.jsx(jsonTreeViewKeyNode.JsonTreeViewKeyNode, { node, showQuotes: options.quotesOnKeys }),
49
+ /* @__PURE__ */ jsxRuntime.jsx(jsonTreeViewValueNode.JsonTreeViewValueNode, { node: valueNode, renderValue })
50
+ ] })
51
+ ] }),
52
+ /* @__PURE__ */ jsxRuntime.jsxs(treeViewBranchContent.TreeViewBranchContent, { ...scopeProps, children: [
53
+ typeof indentGuide === "boolean" ? /* @__PURE__ */ jsxRuntime.jsx(treeViewBranchIndentGuide.TreeViewBranchIndentGuide, {}) : indentGuide,
54
+ node.children?.map((child, index) => /* @__PURE__ */ jsxRuntime.jsx(JsonTreeViewNode, { ...props, node: child, indexPath: [...indexPath, index] }, index))
55
+ ] })
56
+ ] }) : /* @__PURE__ */ jsxRuntime.jsx(treeViewItem.TreeViewItem, { ...nodeProps, children: /* @__PURE__ */ jsxRuntime.jsxs(treeViewItemText.TreeViewItemText, { ...scopeProps, children: [
57
+ key && /* @__PURE__ */ jsxRuntime.jsx(jsonTreeViewKeyNode.JsonTreeViewKeyNode, { node, showQuotes: options.quotesOnKeys }),
58
+ /* @__PURE__ */ jsxRuntime.jsx(jsonTreeViewValueNode.JsonTreeViewValueNode, { node: valueNode, renderValue })
59
+ ] }) }) });
60
+ }
61
+
62
+ exports.JsonTreeViewNode = JsonTreeViewNode;
@@ -0,0 +1,20 @@
1
+ import { JsonNode, JsonNodeHastElement } from '@zag-js/json-tree-utils';
2
+ export interface JsonTreeViewNodeBaseProps {
3
+ /**
4
+ * The icon to use for the arrow.
5
+ */
6
+ arrow?: React.ReactElement;
7
+ /**
8
+ * The indent guide to use for the tree.
9
+ */
10
+ indentGuide?: boolean | React.ReactElement;
11
+ /**
12
+ * The function to render the value of the node.
13
+ */
14
+ renderValue?: (node: JsonNodeHastElement) => React.ReactNode;
15
+ }
16
+ export interface JsonTreeViewNodeProps extends JsonTreeViewNodeBaseProps {
17
+ node: JsonNode;
18
+ indexPath: number[];
19
+ }
20
+ export declare function JsonTreeViewNode(props: JsonTreeViewNodeProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,20 @@
1
+ import { JsonNode, JsonNodeHastElement } from '@zag-js/json-tree-utils';
2
+ export interface JsonTreeViewNodeBaseProps {
3
+ /**
4
+ * The icon to use for the arrow.
5
+ */
6
+ arrow?: React.ReactElement;
7
+ /**
8
+ * The indent guide to use for the tree.
9
+ */
10
+ indentGuide?: boolean | React.ReactElement;
11
+ /**
12
+ * The function to render the value of the node.
13
+ */
14
+ renderValue?: (node: JsonNodeHastElement) => React.ReactNode;
15
+ }
16
+ export interface JsonTreeViewNodeProps extends JsonTreeViewNodeBaseProps {
17
+ node: JsonNode;
18
+ indexPath: number[];
19
+ }
20
+ export declare function JsonTreeViewNode(props: JsonTreeViewNodeProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,58 @@
1
+ 'use client';
2
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import { keyPathToKey, jsonNodeToElement, getAccessibleDescription } from '@zag-js/json-tree-utils';
4
+ import { useMemo } from 'react';
5
+ import { TreeViewBranch } from '../tree-view/tree-view-branch.js';
6
+ import { TreeViewBranchContent } from '../tree-view/tree-view-branch-content.js';
7
+ import { TreeViewBranchControl } from '../tree-view/tree-view-branch-control.js';
8
+ import { TreeViewBranchIndentGuide } from '../tree-view/tree-view-branch-indent-guide.js';
9
+ import { TreeViewBranchIndicator } from '../tree-view/tree-view-branch-indicator.js';
10
+ import { TreeViewBranchText } from '../tree-view/tree-view-branch-text.js';
11
+ import { TreeViewItem } from '../tree-view/tree-view-item.js';
12
+ import { TreeViewItemText } from '../tree-view/tree-view-item-text.js';
13
+ import { TreeViewNodeProvider } from '../tree-view/tree-view-node-provider.js';
14
+ import { useTreeViewContext } from '../tree-view/use-tree-view-context.js';
15
+ import { JsonTreeViewKeyNode } from './json-tree-view-key-node.js';
16
+ import { useJsonTreeViewPropsContext } from './json-tree-view-props-context.js';
17
+ import { JsonTreeViewValueNode } from './json-tree-view-value-node.js';
18
+
19
+ const scopeProps = {
20
+ "data-scope": "json-tree-view"
21
+ };
22
+ function JsonTreeViewNode(props) {
23
+ const { node, indexPath, arrow, indentGuide, renderValue } = props;
24
+ const options = useJsonTreeViewPropsContext();
25
+ const tree = useTreeViewContext();
26
+ const nodeState = tree.getNodeState({ node, indexPath });
27
+ const key = keyPathToKey(node.keyPath, { excludeRoot: true });
28
+ const valueNode = useMemo(() => jsonNodeToElement(node, options), [node, options]);
29
+ const nodeProps = useMemo(() => {
30
+ const desc = getAccessibleDescription(node);
31
+ const line = indexPath.reduce((acc, curr) => acc + curr, 1);
32
+ const lineLength = indexPath.length - 1;
33
+ return {
34
+ ...scopeProps,
35
+ "aria-label": desc,
36
+ "data-line": line,
37
+ style: { ["--line-length"]: lineLength }
38
+ };
39
+ }, [indexPath, node]);
40
+ return /* @__PURE__ */ jsx(TreeViewNodeProvider, { node, indexPath, children: nodeState.isBranch ? /* @__PURE__ */ jsxs(TreeViewBranch, { ...scopeProps, children: [
41
+ /* @__PURE__ */ jsxs(TreeViewBranchControl, { ...nodeProps, children: [
42
+ arrow && /* @__PURE__ */ jsx(TreeViewBranchIndicator, { ...scopeProps, children: arrow }),
43
+ /* @__PURE__ */ jsxs(TreeViewBranchText, { ...scopeProps, children: [
44
+ key && /* @__PURE__ */ jsx(JsonTreeViewKeyNode, { node, showQuotes: options.quotesOnKeys }),
45
+ /* @__PURE__ */ jsx(JsonTreeViewValueNode, { node: valueNode, renderValue })
46
+ ] })
47
+ ] }),
48
+ /* @__PURE__ */ jsxs(TreeViewBranchContent, { ...scopeProps, children: [
49
+ typeof indentGuide === "boolean" ? /* @__PURE__ */ jsx(TreeViewBranchIndentGuide, {}) : indentGuide,
50
+ node.children?.map((child, index) => /* @__PURE__ */ jsx(JsonTreeViewNode, { ...props, node: child, indexPath: [...indexPath, index] }, index))
51
+ ] })
52
+ ] }) : /* @__PURE__ */ jsx(TreeViewItem, { ...nodeProps, children: /* @__PURE__ */ jsxs(TreeViewItemText, { ...scopeProps, children: [
53
+ key && /* @__PURE__ */ jsx(JsonTreeViewKeyNode, { node, showQuotes: options.quotesOnKeys }),
54
+ /* @__PURE__ */ jsx(JsonTreeViewValueNode, { node: valueNode, renderValue })
55
+ ] }) }) });
56
+ }
57
+
58
+ export { JsonTreeViewNode };
@@ -0,0 +1,15 @@
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 [JsonTreeViewPropsProvider, useJsonTreeViewPropsContext] = createContext.createContext({
9
+ name: "JsonTreeViewPropsContext",
10
+ hookName: "useJsonTreeViewPropsContext",
11
+ providerName: "<JsonTreeViewPropsProvider />"
12
+ });
13
+
14
+ exports.JsonTreeViewPropsProvider = JsonTreeViewPropsProvider;
15
+ exports.useJsonTreeViewPropsContext = useJsonTreeViewPropsContext;
@@ -0,0 +1,9 @@
1
+ import { JsonNodePreviewOptions } from '@zag-js/json-tree-utils';
2
+ import { Provider } from 'react';
3
+ export interface JsonTreeViewOptions extends Partial<JsonNodePreviewOptions> {
4
+ /**
5
+ * Whether to show quotes on the keys.
6
+ */
7
+ quotesOnKeys?: boolean;
8
+ }
9
+ export declare const JsonTreeViewPropsProvider: Provider<JsonTreeViewOptions>, useJsonTreeViewPropsContext: () => JsonTreeViewOptions;
@@ -0,0 +1,9 @@
1
+ import { JsonNodePreviewOptions } from '@zag-js/json-tree-utils';
2
+ import { Provider } from 'react';
3
+ export interface JsonTreeViewOptions extends Partial<JsonNodePreviewOptions> {
4
+ /**
5
+ * Whether to show quotes on the keys.
6
+ */
7
+ quotesOnKeys?: boolean;
8
+ }
9
+ export declare const JsonTreeViewPropsProvider: Provider<JsonTreeViewOptions>, useJsonTreeViewPropsContext: () => JsonTreeViewOptions;
@@ -0,0 +1,10 @@
1
+ 'use client';
2
+ import { createContext } from '../../utils/create-context.js';
3
+
4
+ const [JsonTreeViewPropsProvider, useJsonTreeViewPropsContext] = createContext({
5
+ name: "JsonTreeViewPropsContext",
6
+ hookName: "useJsonTreeViewPropsContext",
7
+ providerName: "<JsonTreeViewPropsProvider />"
8
+ });
9
+
10
+ export { JsonTreeViewPropsProvider, useJsonTreeViewPropsContext };
@@ -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 react = require('react');
8
+ const treeViewRootProvider = require('../tree-view/tree-view-root-provider.cjs');
9
+
10
+ const JsonTreeViewRootProvider = react.forwardRef((props, ref) => {
11
+ return /* @__PURE__ */ jsxRuntime.jsx(treeViewRootProvider.TreeViewRootProvider, { "data-scope": "json-tree-view", ...props, ref });
12
+ });
13
+ JsonTreeViewRootProvider.displayName = "JsonTreeViewRootProvider";
14
+
15
+ exports.JsonTreeViewRootProvider = JsonTreeViewRootProvider;
@@ -0,0 +1,6 @@
1
+ import { JsonNode } from '@zag-js/json-tree-utils';
2
+ import { TreeView } from '../tree-view';
3
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
4
+ export interface JsonTreeViewRootProviderProps extends TreeView.RootProviderProps<JsonNode> {
5
+ }
6
+ export declare const JsonTreeViewRootProvider: ForwardRefExoticComponent<JsonTreeViewRootProviderProps & RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,6 @@
1
+ import { JsonNode } from '@zag-js/json-tree-utils';
2
+ import { TreeView } from '../tree-view';
3
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
4
+ export interface JsonTreeViewRootProviderProps extends TreeView.RootProviderProps<JsonNode> {
5
+ }
6
+ export declare const JsonTreeViewRootProvider: ForwardRefExoticComponent<JsonTreeViewRootProviderProps & RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { forwardRef } from 'react';
4
+ import { TreeViewRootProvider } from '../tree-view/tree-view-root-provider.js';
5
+
6
+ const JsonTreeViewRootProvider = forwardRef((props, ref) => {
7
+ return /* @__PURE__ */ jsx(TreeViewRootProvider, { "data-scope": "json-tree-view", ...props, ref });
8
+ });
9
+ JsonTreeViewRootProvider.displayName = "JsonTreeViewRootProvider";
10
+
11
+ export { JsonTreeViewRootProvider };
@@ -0,0 +1,48 @@
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 jsonTreeUtils = require('@zag-js/json-tree-utils');
8
+ const react = require('react');
9
+ const createSplitProps = require('../../utils/create-split-props.cjs');
10
+ const treeCollection = require('../collection/tree-collection.cjs');
11
+ const treeViewRoot = require('../tree-view/tree-view-root.cjs');
12
+ const getBranchValue = require('./get-branch-value.cjs');
13
+ const jsonTreeViewPropsContext = require('./json-tree-view-props-context.cjs');
14
+
15
+ const splitJsonTreeViewProps = createSplitProps.createSplitProps();
16
+ const JsonTreeViewRoot = react.forwardRef((props, ref) => {
17
+ const [jsonTreeProps, localProps] = splitJsonTreeViewProps(props, [
18
+ "maxPreviewItems",
19
+ "collapseStringsAfterLength",
20
+ "quotesOnKeys",
21
+ "groupArraysAfterLength",
22
+ "showNonenumerable"
23
+ ]);
24
+ const { data, defaultExpandedDepth, ...restProps } = localProps;
25
+ const collection = react.useMemo(() => {
26
+ return treeCollection.createTreeCollection({
27
+ nodeToValue: jsonTreeUtils.nodeToValue,
28
+ nodeToString: jsonTreeUtils.nodeToString,
29
+ rootNode: jsonTreeUtils.getRootNode(data)
30
+ });
31
+ }, [data]);
32
+ const defaultExpandedValue = react.useMemo(() => {
33
+ return defaultExpandedDepth != null ? getBranchValue.getBranchValues(collection, defaultExpandedDepth) : void 0;
34
+ }, [collection, defaultExpandedDepth]);
35
+ return /* @__PURE__ */ jsxRuntime.jsx(jsonTreeViewPropsContext.JsonTreeViewPropsProvider, { value: jsonTreeProps, children: /* @__PURE__ */ jsxRuntime.jsx(
36
+ treeViewRoot.TreeViewRoot,
37
+ {
38
+ "data-scope": "json-tree-view",
39
+ collection,
40
+ defaultExpandedValue,
41
+ ...restProps,
42
+ ref
43
+ }
44
+ ) });
45
+ });
46
+ JsonTreeViewRoot.displayName = "JsonTreeViewRoot";
47
+
48
+ exports.JsonTreeViewRoot = JsonTreeViewRoot;
@@ -0,0 +1,15 @@
1
+ import { JsonNode } from '@zag-js/json-tree-utils';
2
+ import { TreeView } from '../tree-view';
3
+ import { JsonTreeViewOptions } from './json-tree-view-props-context';
4
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
5
+ export interface JsonTreeViewRootProps extends Omit<TreeView.RootProps<JsonNode>, 'collection'>, JsonTreeViewOptions {
6
+ /**
7
+ * The data to display in the tree.
8
+ */
9
+ data: unknown;
10
+ /**
11
+ * The default expand level.
12
+ */
13
+ defaultExpandedDepth?: number;
14
+ }
15
+ export declare const JsonTreeViewRoot: ForwardRefExoticComponent<JsonTreeViewRootProps & RefAttributes<HTMLDivElement>>;