@ark-ui/solid
Version:
A collection of unstyled, accessible UI components for Solid, utilizing state machines for seamless interaction.
73 lines (64 loc) • 2.86 kB
TypeScript
import { JsonNodePreviewOptions, JsonNode, JsonNodeHastElement } from '@zag-js/json-tree-utils';
import { JSX, Accessor } from 'solid-js';
import { d as TreeViewRootProps, U as UseTreeViewProps, h as TreeViewRootProviderProps, k as TreeViewTreeProps } from '../../tree-view-tree-DTB5aCol.js';
import { PropTypes } from '@zag-js/solid';
import * as treeView from '@zag-js/tree-view';
import '../../types-Sr_80hg9.js';
import '../../render-strategy-B5MqQP3X.js';
import '@zag-js/collection';
import '../factory.js';
interface JsonTreeViewOptions extends Partial<JsonNodePreviewOptions> {
/**
* Whether to show quotes on the keys.
*/
quotesOnKeys?: boolean;
}
interface JsonTreeViewRootBaseProps extends JsonTreeViewOptions {
/**
* The data to display in the tree.
*/
data: unknown;
/**
* The default expand level.
*/
defaultExpandedDepth?: number;
}
interface JsonTreeViewRootProps extends Omit<TreeViewRootProps<JsonNode>, 'collection'>, JsonTreeViewRootBaseProps {
}
declare const JsonTreeViewRoot: (props: JsonTreeViewRootProps) => JSX.Element;
interface UseJsonTreeViewProps extends Omit<UseTreeViewProps<JsonNode>, 'collection'>, JsonTreeViewOptions {
data: unknown;
defaultExpandedDepth?: number;
}
interface UseJsonTreeViewReturn extends Accessor<treeView.Api<PropTypes, JsonNode> & {
options: JsonTreeViewOptions;
}> {
}
declare const useJsonTreeView: (props: UseJsonTreeViewProps) => UseJsonTreeViewReturn;
interface JsonTreeViewRootProviderProps extends Omit<TreeViewRootProviderProps<JsonNode>, 'value'> {
value: UseJsonTreeViewReturn;
}
declare const JsonTreeViewRootProvider: (props: JsonTreeViewRootProviderProps) => JSX.Element;
interface JsonTreeViewNodeBaseProps {
/**
* The icon to use for the arrow.
*/
arrow?: JSX.Element;
/**
* The indent guide to use for the tree.
*/
indentGuide?: boolean | JSX.Element;
/**
* The function to render the value of the node.
*/
renderValue?: (node: JsonNodeHastElement) => JSX.Element;
}
interface JsonTreeViewTreeBaseProps extends JsonTreeViewNodeBaseProps {
}
interface JsonTreeViewTreeProps extends TreeViewTreeProps, JsonTreeViewTreeBaseProps {
}
declare const JsonTreeViewTree: (props: JsonTreeViewTreeProps) => JSX.Element;
declare namespace jsonTreeView {
export { JsonTreeViewRoot as Root, type JsonTreeViewRootProps as RootProps, JsonTreeViewRootProvider as RootProvider, type JsonTreeViewRootProviderProps as RootProviderProps, JsonTreeViewTree as Tree, type JsonTreeViewTreeProps as TreeProps };
}
export { jsonTreeView as JsonTreeView, JsonTreeViewRoot, type JsonTreeViewRootProps, JsonTreeViewRootProvider, type JsonTreeViewRootProviderProps, JsonTreeViewTree, type JsonTreeViewTreeProps, type UseJsonTreeViewProps, type UseJsonTreeViewReturn, useJsonTreeView };