@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.
- package/dist/components/checkbox/checkbox-group-provider.cjs +19 -0
- package/dist/components/checkbox/checkbox-group-provider.d.cts +13 -0
- package/dist/components/checkbox/checkbox-group-provider.d.ts +13 -0
- package/dist/components/checkbox/checkbox-group-provider.js +15 -0
- package/dist/components/checkbox/checkbox.cjs +2 -0
- package/dist/components/checkbox/checkbox.d.cts +1 -0
- package/dist/components/checkbox/checkbox.d.ts +1 -0
- package/dist/components/checkbox/checkbox.js +1 -0
- package/dist/components/checkbox/index.cjs +2 -0
- package/dist/components/checkbox/index.d.cts +1 -0
- package/dist/components/checkbox/index.d.ts +1 -0
- package/dist/components/checkbox/index.js +1 -0
- package/dist/components/collection/index.cjs +2 -0
- package/dist/components/collection/index.d.cts +2 -1
- package/dist/components/collection/index.d.ts +2 -1
- package/dist/components/collection/index.js +1 -0
- package/dist/components/collection/use-list-selection.cjs +96 -0
- package/dist/components/collection/use-list-selection.d.cts +103 -0
- package/dist/components/collection/use-list-selection.d.ts +103 -0
- package/dist/components/collection/use-list-selection.js +92 -0
- package/dist/components/color-picker/color-picker-value-text.cjs +3 -3
- package/dist/components/color-picker/color-picker-value-text.js +3 -3
- package/dist/components/field/use-field.cjs +2 -1
- package/dist/components/field/use-field.js +2 -1
- package/dist/components/fieldset/use-fieldset.cjs +2 -1
- package/dist/components/fieldset/use-fieldset.js +2 -1
- package/dist/components/file-upload/file-upload-root.cjs +2 -0
- package/dist/components/file-upload/file-upload-root.js +2 -0
- package/dist/components/file-upload/file-upload.d.cts +1 -1
- package/dist/components/file-upload/file-upload.d.ts +1 -1
- package/dist/components/file-upload/index.d.cts +1 -1
- package/dist/components/file-upload/index.d.ts +1 -1
- package/dist/components/index.cjs +12 -0
- package/dist/components/index.d.cts +1 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.js +7 -0
- package/dist/components/json-tree-view/get-branch-value.cjs +19 -0
- package/dist/components/json-tree-view/get-branch-value.d.cts +3 -0
- package/dist/components/json-tree-view/get-branch-value.d.ts +3 -0
- package/dist/components/json-tree-view/get-branch-value.js +15 -0
- package/dist/components/json-tree-view/index.cjs +17 -0
- package/dist/components/json-tree-view/index.d.cts +5 -0
- package/dist/components/json-tree-view/index.d.ts +5 -0
- package/dist/components/json-tree-view/index.js +6 -0
- package/dist/components/json-tree-view/json-tree-view-key-node.cjs +18 -0
- package/dist/components/json-tree-view/json-tree-view-key-node.d.cts +13 -0
- package/dist/components/json-tree-view/json-tree-view-key-node.d.ts +13 -0
- package/dist/components/json-tree-view/json-tree-view-key-node.js +14 -0
- package/dist/components/json-tree-view/json-tree-view-node.cjs +62 -0
- package/dist/components/json-tree-view/json-tree-view-node.d.cts +20 -0
- package/dist/components/json-tree-view/json-tree-view-node.d.ts +20 -0
- package/dist/components/json-tree-view/json-tree-view-node.js +58 -0
- package/dist/components/json-tree-view/json-tree-view-props-context.cjs +15 -0
- package/dist/components/json-tree-view/json-tree-view-props-context.d.cts +9 -0
- package/dist/components/json-tree-view/json-tree-view-props-context.d.ts +9 -0
- package/dist/components/json-tree-view/json-tree-view-props-context.js +10 -0
- package/dist/components/json-tree-view/json-tree-view-root-provider.cjs +15 -0
- package/dist/components/json-tree-view/json-tree-view-root-provider.d.cts +6 -0
- package/dist/components/json-tree-view/json-tree-view-root-provider.d.ts +6 -0
- package/dist/components/json-tree-view/json-tree-view-root-provider.js +11 -0
- package/dist/components/json-tree-view/json-tree-view-root.cjs +48 -0
- package/dist/components/json-tree-view/json-tree-view-root.d.cts +15 -0
- package/dist/components/json-tree-view/json-tree-view-root.d.ts +15 -0
- package/dist/components/json-tree-view/json-tree-view-root.js +44 -0
- package/dist/components/json-tree-view/json-tree-view-tree.cjs +22 -0
- package/dist/components/json-tree-view/json-tree-view-tree.d.cts +6 -0
- package/dist/components/json-tree-view/json-tree-view-tree.d.ts +6 -0
- package/dist/components/json-tree-view/json-tree-view-tree.js +18 -0
- package/dist/components/json-tree-view/json-tree-view-value-node.cjs +26 -0
- package/dist/components/json-tree-view/json-tree-view-value-node.d.cts +7 -0
- package/dist/components/json-tree-view/json-tree-view-value-node.d.ts +7 -0
- package/dist/components/json-tree-view/json-tree-view-value-node.js +22 -0
- package/dist/components/json-tree-view/json-tree-view.cjs +13 -0
- package/dist/components/json-tree-view/json-tree-view.d.cts +3 -0
- package/dist/components/json-tree-view/json-tree-view.d.ts +3 -0
- package/dist/components/json-tree-view/json-tree-view.js +3 -0
- package/dist/components/json-tree-view/use-json-tree-view.cjs +32 -0
- package/dist/components/json-tree-view/use-json-tree-view.d.cts +9 -0
- package/dist/components/json-tree-view/use-json-tree-view.d.ts +9 -0
- package/dist/components/json-tree-view/use-json-tree-view.js +28 -0
- package/dist/components/signature-pad/signature-pad-root.cjs +2 -0
- package/dist/components/signature-pad/signature-pad-root.js +2 -0
- package/dist/components/tree-view/use-tree-view.d.cts +1 -1
- package/dist/components/tree-view/use-tree-view.d.ts +1 -1
- package/dist/index.cjs +12 -0
- package/dist/index.js +7 -0
- 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
|
|
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;
|
package/dist/components/index.js
CHANGED
|
@@ -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,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>>;
|