@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
|
@@ -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>>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { getRootNode, nodeToString, nodeToValue } from '@zag-js/json-tree-utils';
|
|
4
|
+
import { forwardRef, useMemo } from 'react';
|
|
5
|
+
import { createSplitProps } from '../../utils/create-split-props.js';
|
|
6
|
+
import { createTreeCollection } from '../collection/tree-collection.js';
|
|
7
|
+
import { TreeViewRoot } from '../tree-view/tree-view-root.js';
|
|
8
|
+
import { getBranchValues } from './get-branch-value.js';
|
|
9
|
+
import { JsonTreeViewPropsProvider } from './json-tree-view-props-context.js';
|
|
10
|
+
|
|
11
|
+
const splitJsonTreeViewProps = createSplitProps();
|
|
12
|
+
const JsonTreeViewRoot = forwardRef((props, ref) => {
|
|
13
|
+
const [jsonTreeProps, localProps] = splitJsonTreeViewProps(props, [
|
|
14
|
+
"maxPreviewItems",
|
|
15
|
+
"collapseStringsAfterLength",
|
|
16
|
+
"quotesOnKeys",
|
|
17
|
+
"groupArraysAfterLength",
|
|
18
|
+
"showNonenumerable"
|
|
19
|
+
]);
|
|
20
|
+
const { data, defaultExpandedDepth, ...restProps } = localProps;
|
|
21
|
+
const collection = useMemo(() => {
|
|
22
|
+
return createTreeCollection({
|
|
23
|
+
nodeToValue,
|
|
24
|
+
nodeToString,
|
|
25
|
+
rootNode: getRootNode(data)
|
|
26
|
+
});
|
|
27
|
+
}, [data]);
|
|
28
|
+
const defaultExpandedValue = useMemo(() => {
|
|
29
|
+
return defaultExpandedDepth != null ? getBranchValues(collection, defaultExpandedDepth) : void 0;
|
|
30
|
+
}, [collection, defaultExpandedDepth]);
|
|
31
|
+
return /* @__PURE__ */ jsx(JsonTreeViewPropsProvider, { value: jsonTreeProps, children: /* @__PURE__ */ jsx(
|
|
32
|
+
TreeViewRoot,
|
|
33
|
+
{
|
|
34
|
+
"data-scope": "json-tree-view",
|
|
35
|
+
collection,
|
|
36
|
+
defaultExpandedValue,
|
|
37
|
+
...restProps,
|
|
38
|
+
ref
|
|
39
|
+
}
|
|
40
|
+
) });
|
|
41
|
+
});
|
|
42
|
+
JsonTreeViewRoot.displayName = "JsonTreeViewRoot";
|
|
43
|
+
|
|
44
|
+
export { JsonTreeViewRoot };
|
|
@@ -0,0 +1,22 @@
|
|
|
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 createSplitProps = require('../../utils/create-split-props.cjs');
|
|
9
|
+
const treeViewTree = require('../tree-view/tree-view-tree.cjs');
|
|
10
|
+
const useTreeViewContext = require('../tree-view/use-tree-view-context.cjs');
|
|
11
|
+
const jsonTreeViewNode = require('./json-tree-view-node.cjs');
|
|
12
|
+
|
|
13
|
+
const splitTreeNodeProps = createSplitProps.createSplitProps();
|
|
14
|
+
const JsonTreeViewTree = react.forwardRef((props, ref) => {
|
|
15
|
+
const [nodeProps, treeProps] = splitTreeNodeProps(props, ["arrow", "indentGuide", "renderValue"]);
|
|
16
|
+
const tree = useTreeViewContext.useTreeViewContext();
|
|
17
|
+
const children = tree.collection.getNodeChildren(tree.collection.rootNode);
|
|
18
|
+
return /* @__PURE__ */ jsxRuntime.jsx(treeViewTree.TreeViewTree, { "data-scope": "json-tree-view", ...treeProps, ref, children: children.map((child, index) => /* @__PURE__ */ jsxRuntime.jsx(jsonTreeViewNode.JsonTreeViewNode, { node: child, indexPath: [index], ...nodeProps }, index)) });
|
|
19
|
+
});
|
|
20
|
+
JsonTreeViewTree.displayName = "JsonTreeViewTree";
|
|
21
|
+
|
|
22
|
+
exports.JsonTreeViewTree = JsonTreeViewTree;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TreeView } from '../tree-view';
|
|
2
|
+
import { JsonTreeViewNodeBaseProps } from './json-tree-view-node';
|
|
3
|
+
import { ForwardRefExoticComponent, RefAttributes } from 'react';
|
|
4
|
+
export interface JsonTreeViewTreeProps extends TreeView.TreeProps, JsonTreeViewNodeBaseProps {
|
|
5
|
+
}
|
|
6
|
+
export declare const JsonTreeViewTree: ForwardRefExoticComponent<JsonTreeViewTreeProps & RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TreeView } from '../tree-view';
|
|
2
|
+
import { JsonTreeViewNodeBaseProps } from './json-tree-view-node';
|
|
3
|
+
import { ForwardRefExoticComponent, RefAttributes } from 'react';
|
|
4
|
+
export interface JsonTreeViewTreeProps extends TreeView.TreeProps, JsonTreeViewNodeBaseProps {
|
|
5
|
+
}
|
|
6
|
+
export declare const JsonTreeViewTree: ForwardRefExoticComponent<JsonTreeViewTreeProps & RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { createSplitProps } from '../../utils/create-split-props.js';
|
|
5
|
+
import { TreeViewTree } from '../tree-view/tree-view-tree.js';
|
|
6
|
+
import { useTreeViewContext } from '../tree-view/use-tree-view-context.js';
|
|
7
|
+
import { JsonTreeViewNode } from './json-tree-view-node.js';
|
|
8
|
+
|
|
9
|
+
const splitTreeNodeProps = createSplitProps();
|
|
10
|
+
const JsonTreeViewTree = forwardRef((props, ref) => {
|
|
11
|
+
const [nodeProps, treeProps] = splitTreeNodeProps(props, ["arrow", "indentGuide", "renderValue"]);
|
|
12
|
+
const tree = useTreeViewContext();
|
|
13
|
+
const children = tree.collection.getNodeChildren(tree.collection.rootNode);
|
|
14
|
+
return /* @__PURE__ */ jsx(TreeViewTree, { "data-scope": "json-tree-view", ...treeProps, ref, children: children.map((child, index) => /* @__PURE__ */ jsx(JsonTreeViewNode, { node: child, indexPath: [index], ...nodeProps }, index)) });
|
|
15
|
+
});
|
|
16
|
+
JsonTreeViewTree.displayName = "JsonTreeViewTree";
|
|
17
|
+
|
|
18
|
+
export { JsonTreeViewTree };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
5
|
+
|
|
6
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
7
|
+
|
|
8
|
+
const JsonTreeViewValueNode = (props) => {
|
|
9
|
+
const { node, renderValue } = props;
|
|
10
|
+
if (node.type === "text") {
|
|
11
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: renderValue?.(node) ?? node.value });
|
|
12
|
+
}
|
|
13
|
+
const Element = node.tagName;
|
|
14
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
15
|
+
Element,
|
|
16
|
+
{
|
|
17
|
+
"data-root": node.properties.root ? "" : void 0,
|
|
18
|
+
"data-type": node.properties.nodeType,
|
|
19
|
+
"data-kind": node.properties.kind,
|
|
20
|
+
suppressHydrationWarning: true,
|
|
21
|
+
children: node.children.map((child, index) => /* @__PURE__ */ jsxRuntime.jsx(JsonTreeViewValueNode, { node: child, renderValue }, index))
|
|
22
|
+
}
|
|
23
|
+
);
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
exports.JsonTreeViewValueNode = JsonTreeViewValueNode;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { JsonNodeHastElement } from '@zag-js/json-tree-utils';
|
|
2
|
+
interface JsonTreeViewValueNodeProps {
|
|
3
|
+
node: JsonNodeHastElement;
|
|
4
|
+
renderValue?: (node: JsonNodeHastElement) => React.ReactNode;
|
|
5
|
+
}
|
|
6
|
+
export declare const JsonTreeViewValueNode: (props: JsonTreeViewValueNodeProps) => React.ReactNode;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { JsonNodeHastElement } from '@zag-js/json-tree-utils';
|
|
2
|
+
interface JsonTreeViewValueNodeProps {
|
|
3
|
+
node: JsonNodeHastElement;
|
|
4
|
+
renderValue?: (node: JsonNodeHastElement) => React.ReactNode;
|
|
5
|
+
}
|
|
6
|
+
export declare const JsonTreeViewValueNode: (props: JsonTreeViewValueNodeProps) => React.ReactNode;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
3
|
+
|
|
4
|
+
const JsonTreeViewValueNode = (props) => {
|
|
5
|
+
const { node, renderValue } = props;
|
|
6
|
+
if (node.type === "text") {
|
|
7
|
+
return /* @__PURE__ */ jsx(Fragment, { children: renderValue?.(node) ?? node.value });
|
|
8
|
+
}
|
|
9
|
+
const Element = node.tagName;
|
|
10
|
+
return /* @__PURE__ */ jsx(
|
|
11
|
+
Element,
|
|
12
|
+
{
|
|
13
|
+
"data-root": node.properties.root ? "" : void 0,
|
|
14
|
+
"data-type": node.properties.nodeType,
|
|
15
|
+
"data-kind": node.properties.kind,
|
|
16
|
+
suppressHydrationWarning: true,
|
|
17
|
+
children: node.children.map((child, index) => /* @__PURE__ */ jsx(JsonTreeViewValueNode, { node: child, renderValue }, index))
|
|
18
|
+
}
|
|
19
|
+
);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export { JsonTreeViewValueNode };
|
|
@@ -0,0 +1,13 @@
|
|
|
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
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
exports.Root = jsonTreeViewRoot.JsonTreeViewRoot;
|
|
12
|
+
exports.RootProvider = jsonTreeViewRootProvider.JsonTreeViewRootProvider;
|
|
13
|
+
exports.Tree = jsonTreeViewTree.JsonTreeViewTree;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { JsonTreeViewRoot as Root, type JsonTreeViewRootProps as RootProps } from './json-tree-view-root';
|
|
2
|
+
export { JsonTreeViewRootProvider as RootProvider, type JsonTreeViewRootProviderProps as RootProviderProps, } from './json-tree-view-root-provider';
|
|
3
|
+
export { JsonTreeViewTree as Tree, type JsonTreeViewTreeProps as TreeProps } from './json-tree-view-tree';
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { JsonTreeViewRoot as Root, type JsonTreeViewRootProps as RootProps } from './json-tree-view-root';
|
|
2
|
+
export { JsonTreeViewRootProvider as RootProvider, type JsonTreeViewRootProviderProps as RootProviderProps, } from './json-tree-view-root-provider';
|
|
3
|
+
export { JsonTreeViewTree as Tree, type JsonTreeViewTreeProps as TreeProps } from './json-tree-view-tree';
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
5
|
+
|
|
6
|
+
const jsonTreeUtils = require('@zag-js/json-tree-utils');
|
|
7
|
+
const react = require('react');
|
|
8
|
+
const treeCollection = require('../collection/tree-collection.cjs');
|
|
9
|
+
const useTreeView = require('../tree-view/use-tree-view.cjs');
|
|
10
|
+
const getBranchValue = require('./get-branch-value.cjs');
|
|
11
|
+
|
|
12
|
+
const useJsonTreeView = (props) => {
|
|
13
|
+
const { data, defaultExpandedDepth = 1, ...restProps } = props;
|
|
14
|
+
const collection = react.useMemo(() => {
|
|
15
|
+
return treeCollection.createTreeCollection({
|
|
16
|
+
nodeToValue: jsonTreeUtils.nodeToValue,
|
|
17
|
+
nodeToString: jsonTreeUtils.nodeToString,
|
|
18
|
+
rootNode: jsonTreeUtils.getRootNode(data)
|
|
19
|
+
});
|
|
20
|
+
}, [data]);
|
|
21
|
+
const defaultExpandedValue = react.useMemo(() => {
|
|
22
|
+
return defaultExpandedDepth != null ? getBranchValue.getBranchValues(collection, defaultExpandedDepth) : void 0;
|
|
23
|
+
}, [collection, defaultExpandedDepth]);
|
|
24
|
+
return useTreeView.useTreeView({
|
|
25
|
+
defaultExpandedValue,
|
|
26
|
+
...restProps,
|
|
27
|
+
collection,
|
|
28
|
+
typeahead: false
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
exports.useJsonTreeView = useJsonTreeView;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { JsonNode } from '@zag-js/json-tree-utils';
|
|
2
|
+
import { UseTreeViewProps, UseTreeViewReturn } from '../tree-view';
|
|
3
|
+
export interface UseJsonTreeViewProps extends Omit<UseTreeViewProps<JsonNode>, 'collection'> {
|
|
4
|
+
data: unknown;
|
|
5
|
+
defaultExpandedDepth?: number;
|
|
6
|
+
}
|
|
7
|
+
export interface UseJsonTreeViewReturn extends UseTreeViewReturn<JsonNode> {
|
|
8
|
+
}
|
|
9
|
+
export declare const useJsonTreeView: (props: UseJsonTreeViewProps) => UseTreeViewReturn<JsonNode<any>>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { JsonNode } from '@zag-js/json-tree-utils';
|
|
2
|
+
import { UseTreeViewProps, UseTreeViewReturn } from '../tree-view';
|
|
3
|
+
export interface UseJsonTreeViewProps extends Omit<UseTreeViewProps<JsonNode>, 'collection'> {
|
|
4
|
+
data: unknown;
|
|
5
|
+
defaultExpandedDepth?: number;
|
|
6
|
+
}
|
|
7
|
+
export interface UseJsonTreeViewReturn extends UseTreeViewReturn<JsonNode> {
|
|
8
|
+
}
|
|
9
|
+
export declare const useJsonTreeView: (props: UseJsonTreeViewProps) => UseTreeViewReturn<JsonNode<any>>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { getRootNode, nodeToString, nodeToValue } from '@zag-js/json-tree-utils';
|
|
3
|
+
import { useMemo } from 'react';
|
|
4
|
+
import { createTreeCollection } from '../collection/tree-collection.js';
|
|
5
|
+
import { useTreeView } from '../tree-view/use-tree-view.js';
|
|
6
|
+
import { getBranchValues } from './get-branch-value.js';
|
|
7
|
+
|
|
8
|
+
const useJsonTreeView = (props) => {
|
|
9
|
+
const { data, defaultExpandedDepth = 1, ...restProps } = props;
|
|
10
|
+
const collection = useMemo(() => {
|
|
11
|
+
return createTreeCollection({
|
|
12
|
+
nodeToValue,
|
|
13
|
+
nodeToString,
|
|
14
|
+
rootNode: getRootNode(data)
|
|
15
|
+
});
|
|
16
|
+
}, [data]);
|
|
17
|
+
const defaultExpandedValue = useMemo(() => {
|
|
18
|
+
return defaultExpandedDepth != null ? getBranchValues(collection, defaultExpandedDepth) : void 0;
|
|
19
|
+
}, [collection, defaultExpandedDepth]);
|
|
20
|
+
return useTreeView({
|
|
21
|
+
defaultExpandedValue,
|
|
22
|
+
...restProps,
|
|
23
|
+
collection,
|
|
24
|
+
typeahead: false
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export { useJsonTreeView };
|
|
@@ -15,12 +15,14 @@ const SignaturePadRoot = react.forwardRef((props, ref) => {
|
|
|
15
15
|
const [useSignaturePadProps, localProps] = createSplitProps.createSplitProps()(props, [
|
|
16
16
|
"id",
|
|
17
17
|
"ids",
|
|
18
|
+
"defaultPaths",
|
|
18
19
|
"drawing",
|
|
19
20
|
"disabled",
|
|
20
21
|
"readOnly",
|
|
21
22
|
"name",
|
|
22
23
|
"onDraw",
|
|
23
24
|
"onDrawEnd",
|
|
25
|
+
"paths",
|
|
24
26
|
"readOnly",
|
|
25
27
|
"required",
|
|
26
28
|
"translations"
|
|
@@ -11,12 +11,14 @@ const SignaturePadRoot = forwardRef((props, ref) => {
|
|
|
11
11
|
const [useSignaturePadProps, localProps] = createSplitProps()(props, [
|
|
12
12
|
"id",
|
|
13
13
|
"ids",
|
|
14
|
+
"defaultPaths",
|
|
14
15
|
"drawing",
|
|
15
16
|
"disabled",
|
|
16
17
|
"readOnly",
|
|
17
18
|
"name",
|
|
18
19
|
"onDraw",
|
|
19
20
|
"onDrawEnd",
|
|
21
|
+
"paths",
|
|
20
22
|
"readOnly",
|
|
21
23
|
"required",
|
|
22
24
|
"translations"
|
|
@@ -2,7 +2,7 @@ import { PropTypes } from '@zag-js/react';
|
|
|
2
2
|
import { Optional } from '../../types';
|
|
3
3
|
import { TreeCollection, TreeNode } from '../collection';
|
|
4
4
|
import * as treeView from '@zag-js/tree-view';
|
|
5
|
-
export interface UseTreeViewProps<T extends TreeNode> extends Optional<Omit<treeView.Props
|
|
5
|
+
export interface UseTreeViewProps<T extends TreeNode> extends Optional<Omit<treeView.Props<T>, 'dir' | 'getRootNode' | 'collection'>, 'id'> {
|
|
6
6
|
/**
|
|
7
7
|
* The collection of tree nodes
|
|
8
8
|
*/
|
|
@@ -2,7 +2,7 @@ import { PropTypes } from '@zag-js/react';
|
|
|
2
2
|
import { Optional } from '../../types';
|
|
3
3
|
import { TreeCollection, TreeNode } from '../collection';
|
|
4
4
|
import * as treeView from '@zag-js/tree-view';
|
|
5
|
-
export interface UseTreeViewProps<T extends TreeNode> extends Optional<Omit<treeView.Props
|
|
5
|
+
export interface UseTreeViewProps<T extends TreeNode> extends Optional<Omit<treeView.Props<T>, 'dir' | 'getRootNode' | 'collection'>, 'id'> {
|
|
6
6
|
/**
|
|
7
7
|
* The collection of tree nodes
|
|
8
8
|
*/
|
package/dist/index.cjs
CHANGED
|
@@ -52,6 +52,7 @@ const carousel$1 = require('./components/carousel/carousel.cjs');
|
|
|
52
52
|
const checkboxContext = require('./components/checkbox/checkbox-context.cjs');
|
|
53
53
|
const checkboxControl = require('./components/checkbox/checkbox-control.cjs');
|
|
54
54
|
const checkboxGroup = require('./components/checkbox/checkbox-group.cjs');
|
|
55
|
+
const checkboxGroupProvider = require('./components/checkbox/checkbox-group-provider.cjs');
|
|
55
56
|
const checkboxHiddenInput = require('./components/checkbox/checkbox-hidden-input.cjs');
|
|
56
57
|
const checkboxIndicator = require('./components/checkbox/checkbox-indicator.cjs');
|
|
57
58
|
const checkboxLabel = require('./components/checkbox/checkbox-label.cjs');
|
|
@@ -323,6 +324,11 @@ const useMenu = require('./components/menu/use-menu.cjs');
|
|
|
323
324
|
const useMenuContext = require('./components/menu/use-menu-context.cjs');
|
|
324
325
|
const useMenuItemContext = require('./components/menu/use-menu-item-context.cjs');
|
|
325
326
|
const menu$1 = require('./components/menu/menu.cjs');
|
|
327
|
+
const jsonTreeViewRoot = require('./components/json-tree-view/json-tree-view-root.cjs');
|
|
328
|
+
const jsonTreeViewRootProvider = require('./components/json-tree-view/json-tree-view-root-provider.cjs');
|
|
329
|
+
const jsonTreeViewTree = require('./components/json-tree-view/json-tree-view-tree.cjs');
|
|
330
|
+
const useJsonTreeView = require('./components/json-tree-view/use-json-tree-view.cjs');
|
|
331
|
+
const jsonTreeView = require('./components/json-tree-view/json-tree-view.cjs');
|
|
326
332
|
const numberInputContext = require('./components/number-input/number-input-context.cjs');
|
|
327
333
|
const numberInputControl = require('./components/number-input/number-input-control.cjs');
|
|
328
334
|
const numberInputDecrementTrigger = require('./components/number-input/number-input-decrement-trigger.cjs');
|
|
@@ -768,6 +774,7 @@ exports.Carousel = carousel$1;
|
|
|
768
774
|
exports.CheckboxContext = checkboxContext.CheckboxContext;
|
|
769
775
|
exports.CheckboxControl = checkboxControl.CheckboxControl;
|
|
770
776
|
exports.CheckboxGroup = checkboxGroup.CheckboxGroup;
|
|
777
|
+
exports.CheckboxGroupProvider = checkboxGroupProvider.CheckboxGroupProvider;
|
|
771
778
|
exports.CheckboxHiddenInput = checkboxHiddenInput.CheckboxHiddenInput;
|
|
772
779
|
exports.CheckboxIndicator = checkboxIndicator.CheckboxIndicator;
|
|
773
780
|
exports.CheckboxLabel = checkboxLabel.CheckboxLabel;
|
|
@@ -1047,6 +1054,11 @@ exports.useMenu = useMenu.useMenu;
|
|
|
1047
1054
|
exports.useMenuContext = useMenuContext.useMenuContext;
|
|
1048
1055
|
exports.useMenuItemContext = useMenuItemContext.useMenuItemContext;
|
|
1049
1056
|
exports.Menu = menu$1;
|
|
1057
|
+
exports.JsonTreeViewRoot = jsonTreeViewRoot.JsonTreeViewRoot;
|
|
1058
|
+
exports.JsonTreeViewRootProvider = jsonTreeViewRootProvider.JsonTreeViewRootProvider;
|
|
1059
|
+
exports.JsonTreeViewTree = jsonTreeViewTree.JsonTreeViewTree;
|
|
1060
|
+
exports.useJsonTreeView = useJsonTreeView.useJsonTreeView;
|
|
1061
|
+
exports.JsonTreeView = jsonTreeView;
|
|
1050
1062
|
exports.NumberInputContext = numberInputContext.NumberInputContext;
|
|
1051
1063
|
exports.NumberInputControl = numberInputControl.NumberInputControl;
|
|
1052
1064
|
exports.NumberInputDecrementTrigger = numberInputDecrementTrigger.NumberInputDecrementTrigger;
|
package/dist/index.js
CHANGED
|
@@ -52,6 +52,7 @@ export { carousel as Carousel };
|
|
|
52
52
|
export { CheckboxContext } from './components/checkbox/checkbox-context.js';
|
|
53
53
|
export { CheckboxControl } from './components/checkbox/checkbox-control.js';
|
|
54
54
|
export { CheckboxGroup } from './components/checkbox/checkbox-group.js';
|
|
55
|
+
export { CheckboxGroupProvider } from './components/checkbox/checkbox-group-provider.js';
|
|
55
56
|
export { CheckboxHiddenInput } from './components/checkbox/checkbox-hidden-input.js';
|
|
56
57
|
export { CheckboxIndicator } from './components/checkbox/checkbox-indicator.js';
|
|
57
58
|
export { CheckboxLabel } from './components/checkbox/checkbox-label.js';
|
|
@@ -339,6 +340,12 @@ export { useMenuContext } from './components/menu/use-menu-context.js';
|
|
|
339
340
|
export { useMenuItemContext } from './components/menu/use-menu-item-context.js';
|
|
340
341
|
import * as menu from './components/menu/menu.js';
|
|
341
342
|
export { menu as Menu };
|
|
343
|
+
export { JsonTreeViewRoot } from './components/json-tree-view/json-tree-view-root.js';
|
|
344
|
+
export { JsonTreeViewRootProvider } from './components/json-tree-view/json-tree-view-root-provider.js';
|
|
345
|
+
export { JsonTreeViewTree } from './components/json-tree-view/json-tree-view-tree.js';
|
|
346
|
+
export { useJsonTreeView } from './components/json-tree-view/use-json-tree-view.js';
|
|
347
|
+
import * as jsonTreeView from './components/json-tree-view/json-tree-view.js';
|
|
348
|
+
export { jsonTreeView as JsonTreeView };
|
|
342
349
|
export { NumberInputContext } from './components/number-input/number-input-context.js';
|
|
343
350
|
export { NumberInputControl } from './components/number-input/number-input-control.js';
|
|
344
351
|
export { NumberInputDecrementTrigger } from './components/number-input/number-input-decrement-trigger.js';
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ark-ui/react",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "5.
|
|
4
|
+
"version": "5.18.0",
|
|
5
5
|
"description": "A collection of unstyled, accessible UI components for React, utilizing state machines for seamless interaction.",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"accordion",
|
|
@@ -141,68 +141,69 @@
|
|
|
141
141
|
"sideEffects": false,
|
|
142
142
|
"dependencies": {
|
|
143
143
|
"@internationalized/date": "3.8.2",
|
|
144
|
-
"@zag-js/accordion": "1.
|
|
145
|
-
"@zag-js/angle-slider": "1.
|
|
146
|
-
"@zag-js/anatomy": "1.
|
|
147
|
-
"@zag-js/auto-resize": "1.
|
|
148
|
-
"@zag-js/avatar": "1.
|
|
149
|
-
"@zag-js/carousel": "1.
|
|
150
|
-
"@zag-js/checkbox": "1.
|
|
151
|
-
"@zag-js/clipboard": "1.
|
|
152
|
-
"@zag-js/collapsible": "1.
|
|
153
|
-
"@zag-js/collection": "1.
|
|
154
|
-
"@zag-js/color-picker": "1.
|
|
155
|
-
"@zag-js/color-utils": "1.
|
|
156
|
-
"@zag-js/combobox": "1.
|
|
157
|
-
"@zag-js/core": "1.
|
|
158
|
-
"@zag-js/date-picker": "1.
|
|
159
|
-
"@zag-js/date-utils": "1.
|
|
160
|
-
"@zag-js/dialog": "1.
|
|
161
|
-
"@zag-js/dom-query": "1.
|
|
162
|
-
"@zag-js/editable": "1.
|
|
163
|
-
"@zag-js/file-upload": "1.
|
|
164
|
-
"@zag-js/file-utils": "1.
|
|
165
|
-
"@zag-js/focus-trap": "1.
|
|
166
|
-
"@zag-js/floating-panel": "1.
|
|
167
|
-
"@zag-js/highlight-word": "1.
|
|
168
|
-
"@zag-js/hover-card": "1.
|
|
169
|
-
"@zag-js/i18n-utils": "1.
|
|
170
|
-
"@zag-js/
|
|
171
|
-
"@zag-js/
|
|
172
|
-
"@zag-js/
|
|
173
|
-
"@zag-js/
|
|
174
|
-
"@zag-js/
|
|
175
|
-
"@zag-js/
|
|
176
|
-
"@zag-js/
|
|
177
|
-
"@zag-js/
|
|
178
|
-
"@zag-js/
|
|
179
|
-
"@zag-js/
|
|
180
|
-
"@zag-js/
|
|
181
|
-
"@zag-js/
|
|
182
|
-
"@zag-js/
|
|
183
|
-
"@zag-js/
|
|
184
|
-
"@zag-js/
|
|
185
|
-
"@zag-js/
|
|
186
|
-
"@zag-js/
|
|
187
|
-
"@zag-js/
|
|
188
|
-
"@zag-js/
|
|
189
|
-
"@zag-js/
|
|
190
|
-
"@zag-js/
|
|
191
|
-
"@zag-js/
|
|
192
|
-
"@zag-js/
|
|
193
|
-
"@zag-js/
|
|
194
|
-
"@zag-js/
|
|
195
|
-
"@zag-js/toggle
|
|
196
|
-
"@zag-js/
|
|
197
|
-
"@zag-js/
|
|
198
|
-
"@zag-js/
|
|
199
|
-
"@zag-js/
|
|
200
|
-
"@zag-js/
|
|
144
|
+
"@zag-js/accordion": "1.20.0",
|
|
145
|
+
"@zag-js/angle-slider": "1.20.0",
|
|
146
|
+
"@zag-js/anatomy": "1.20.0",
|
|
147
|
+
"@zag-js/auto-resize": "1.20.0",
|
|
148
|
+
"@zag-js/avatar": "1.20.0",
|
|
149
|
+
"@zag-js/carousel": "1.20.0",
|
|
150
|
+
"@zag-js/checkbox": "1.20.0",
|
|
151
|
+
"@zag-js/clipboard": "1.20.0",
|
|
152
|
+
"@zag-js/collapsible": "1.20.0",
|
|
153
|
+
"@zag-js/collection": "1.20.0",
|
|
154
|
+
"@zag-js/color-picker": "1.20.0",
|
|
155
|
+
"@zag-js/color-utils": "1.20.0",
|
|
156
|
+
"@zag-js/combobox": "1.20.0",
|
|
157
|
+
"@zag-js/core": "1.20.0",
|
|
158
|
+
"@zag-js/date-picker": "1.20.0",
|
|
159
|
+
"@zag-js/date-utils": "1.20.0",
|
|
160
|
+
"@zag-js/dialog": "1.20.0",
|
|
161
|
+
"@zag-js/dom-query": "1.20.0",
|
|
162
|
+
"@zag-js/editable": "1.20.0",
|
|
163
|
+
"@zag-js/file-upload": "1.20.0",
|
|
164
|
+
"@zag-js/file-utils": "1.20.0",
|
|
165
|
+
"@zag-js/focus-trap": "1.20.0",
|
|
166
|
+
"@zag-js/floating-panel": "1.20.0",
|
|
167
|
+
"@zag-js/highlight-word": "1.20.0",
|
|
168
|
+
"@zag-js/hover-card": "1.20.0",
|
|
169
|
+
"@zag-js/i18n-utils": "1.20.0",
|
|
170
|
+
"@zag-js/json-tree-utils": "1.20.0",
|
|
171
|
+
"@zag-js/listbox": "1.20.0",
|
|
172
|
+
"@zag-js/menu": "1.20.0",
|
|
173
|
+
"@zag-js/number-input": "1.20.0",
|
|
174
|
+
"@zag-js/pagination": "1.20.0",
|
|
175
|
+
"@zag-js/password-input": "1.20.0",
|
|
176
|
+
"@zag-js/pin-input": "1.20.0",
|
|
177
|
+
"@zag-js/popover": "1.20.0",
|
|
178
|
+
"@zag-js/presence": "1.20.0",
|
|
179
|
+
"@zag-js/progress": "1.20.0",
|
|
180
|
+
"@zag-js/qr-code": "1.20.0",
|
|
181
|
+
"@zag-js/radio-group": "1.20.0",
|
|
182
|
+
"@zag-js/rating-group": "1.20.0",
|
|
183
|
+
"@zag-js/react": "1.20.0",
|
|
184
|
+
"@zag-js/select": "1.20.0",
|
|
185
|
+
"@zag-js/signature-pad": "1.20.0",
|
|
186
|
+
"@zag-js/slider": "1.20.0",
|
|
187
|
+
"@zag-js/splitter": "1.20.0",
|
|
188
|
+
"@zag-js/steps": "1.20.0",
|
|
189
|
+
"@zag-js/switch": "1.20.0",
|
|
190
|
+
"@zag-js/tabs": "1.20.0",
|
|
191
|
+
"@zag-js/tags-input": "1.20.0",
|
|
192
|
+
"@zag-js/time-picker": "1.20.0",
|
|
193
|
+
"@zag-js/timer": "1.20.0",
|
|
194
|
+
"@zag-js/toast": "1.20.0",
|
|
195
|
+
"@zag-js/toggle": "1.20.0",
|
|
196
|
+
"@zag-js/toggle-group": "1.20.0",
|
|
197
|
+
"@zag-js/tooltip": "1.20.0",
|
|
198
|
+
"@zag-js/tour": "1.20.0",
|
|
199
|
+
"@zag-js/tree-view": "1.20.0",
|
|
200
|
+
"@zag-js/types": "1.20.0",
|
|
201
|
+
"@zag-js/utils": "1.20.0"
|
|
201
202
|
},
|
|
202
203
|
"devDependencies": {
|
|
203
204
|
"@biomejs/biome": "1.9.4",
|
|
204
|
-
"@storybook/addon-a11y": "9.0.
|
|
205
|
-
"@storybook/react-vite": "9.0.
|
|
205
|
+
"@storybook/addon-a11y": "9.0.18",
|
|
206
|
+
"@storybook/react-vite": "9.0.18",
|
|
206
207
|
"@testing-library/dom": "10.4.0",
|
|
207
208
|
"@testing-library/jest-dom": "6.6.3",
|
|
208
209
|
"@testing-library/react": "16.3.0",
|
|
@@ -210,7 +211,7 @@
|
|
|
210
211
|
"@types/jsdom": "21.1.7",
|
|
211
212
|
"@types/react": "19.1.8",
|
|
212
213
|
"@types/react-dom": "19.1.6",
|
|
213
|
-
"@vitejs/plugin-react": "4.
|
|
214
|
+
"@vitejs/plugin-react": "4.7.0",
|
|
214
215
|
"clean-package": "2.2.0",
|
|
215
216
|
"globby": "14.1.0",
|
|
216
217
|
"happy-dom": "18.0.1",
|
|
@@ -220,11 +221,11 @@
|
|
|
220
221
|
"react-shadow": "20.6.0",
|
|
221
222
|
"react-use": "17.6.0",
|
|
222
223
|
"react-frame-component": "5.2.7",
|
|
223
|
-
"react-hook-form": "7.
|
|
224
|
+
"react-hook-form": "7.60.0",
|
|
224
225
|
"resize-observer-polyfill": "1.5.1",
|
|
225
|
-
"storybook": "9.0.
|
|
226
|
+
"storybook": "9.0.18",
|
|
226
227
|
"typescript": "5.8.3",
|
|
227
|
-
"vite": "7.0.
|
|
228
|
+
"vite": "7.0.5",
|
|
228
229
|
"vite-plugin-dts": "4.5.4",
|
|
229
230
|
"vitest": "3.2.4",
|
|
230
231
|
"@vitest/coverage-v8": "3.2.4",
|