@sprawlify/react 0.0.8 → 0.0.9
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/{collapsible-Nbt3Sequ.mjs → collapsible-vqmKK3px.mjs} +7 -7
- package/dist/{collection-DQWWySNV.mjs → collection-BYYMj_V8.mjs} +2 -2
- package/dist/components/accordion/index.d.cts +11 -11
- package/dist/components/accordion/index.d.mts +11 -11
- package/dist/components/accordion/index.mjs +10 -10
- package/dist/components/angle-slider/index.d.cts +13 -13
- package/dist/components/angle-slider/index.d.mts +13 -13
- package/dist/components/angle-slider/index.mjs +8 -8
- package/dist/components/avatar/index.d.cts +8 -8
- package/dist/components/avatar/index.d.mts +8 -8
- package/dist/components/avatar/index.mjs +8 -8
- package/dist/components/bottom-sheet/index.d.cts +15 -15
- package/dist/components/bottom-sheet/index.d.mts +16 -16
- package/dist/components/bottom-sheet/index.mjs +12 -12
- package/dist/components/carousel/index.d.cts +18 -18
- package/dist/components/carousel/index.d.mts +18 -18
- package/dist/components/carousel/index.mjs +8 -8
- package/dist/components/checkbox/index.d.cts +14 -14
- package/dist/components/checkbox/index.d.mts +14 -14
- package/dist/components/checkbox/index.mjs +13 -13
- package/dist/components/clipboard/index.d.cts +12 -12
- package/dist/components/clipboard/index.d.mts +12 -12
- package/dist/components/clipboard/index.mjs +6 -6
- package/dist/components/collapsible/index.d.cts +10 -10
- package/dist/components/collapsible/index.d.mts +10 -10
- package/dist/components/collapsible/index.mjs +7 -7
- package/dist/components/collection/index.d.cts +1 -1
- package/dist/components/collection/index.d.mts +1 -1
- package/dist/components/collection/index.mjs +3 -3
- package/dist/components/color-picker/index.d.cts +35 -35
- package/dist/components/color-picker/index.d.mts +36 -36
- package/dist/components/color-picker/index.mjs +14 -14
- package/dist/components/combobox/index.d.cts +22 -22
- package/dist/components/combobox/index.d.mts +22 -22
- package/dist/components/combobox/index.mjs +15 -15
- package/dist/components/date-picker/index.d.cts +32 -32
- package/dist/components/date-picker/index.d.mts +33 -33
- package/dist/components/date-picker/index.mjs +11 -11
- package/dist/components/dialog/index.d.cts +15 -15
- package/dist/components/dialog/index.d.mts +13 -13
- package/dist/components/dialog/index.mjs +11 -11
- package/dist/components/download-trigger/index.d.cts +4 -4
- package/dist/components/download-trigger/index.d.mts +4 -4
- package/dist/components/download-trigger/index.mjs +5 -5
- package/dist/components/editable/index.d.cts +13 -13
- package/dist/components/editable/index.d.mts +13 -13
- package/dist/components/editable/index.mjs +11 -11
- package/dist/components/field/index.d.cts +14 -14
- package/dist/components/field/index.d.mts +12 -12
- package/dist/components/field/index.mjs +9 -9
- package/dist/components/fieldset/index.d.cts +10 -10
- package/dist/components/fieldset/index.d.mts +8 -8
- package/dist/components/fieldset/index.mjs +9 -9
- package/dist/components/file-upload/index.d.cts +3 -3
- package/dist/components/file-upload/index.d.mts +18 -18
- package/dist/components/file-upload/index.mjs +11 -11
- package/dist/components/floating-panel/index.d.cts +19 -19
- package/dist/components/floating-panel/index.d.mts +20 -20
- package/dist/components/floating-panel/index.mjs +11 -11
- package/dist/components/focus-trap/index.d.cts +4 -4
- package/dist/components/focus-trap/index.d.mts +4 -4
- package/dist/components/focus-trap/index.mjs +4 -4
- package/dist/components/format/index.d.cts +4 -4
- package/dist/components/format/index.d.mts +4 -4
- package/dist/components/format/index.mjs +3 -3
- package/dist/components/frame/index.d.cts +3 -3
- package/dist/components/frame/index.d.mts +3 -3
- package/dist/components/frame/index.mjs +6 -6
- package/dist/components/highlight/index.d.cts +3 -3
- package/dist/components/highlight/index.d.mts +3 -3
- package/dist/components/highlight/index.mjs +1 -1
- package/dist/components/hover-card/index.cjs +165 -0
- package/dist/components/hover-card/index.d.cts +70 -0
- package/dist/components/hover-card/index.d.mts +71 -0
- package/dist/components/hover-card/index.mjs +143 -0
- package/dist/components/image-cropper/index.cjs +197 -0
- package/dist/components/image-cropper/index.d.cts +64 -0
- package/dist/components/image-cropper/index.d.mts +64 -0
- package/dist/components/image-cropper/index.mjs +175 -0
- package/dist/components/json-tree-view/index.cjs +246 -0
- package/dist/components/json-tree-view/index.d.cts +43 -0
- package/dist/components/json-tree-view/index.d.mts +48 -0
- package/dist/components/json-tree-view/index.mjs +237 -0
- package/dist/components/listbox/index.cjs +314 -0
- package/dist/components/listbox/index.d.cts +110 -0
- package/dist/components/listbox/index.d.mts +110 -0
- package/dist/components/listbox/index.mjs +289 -0
- package/dist/components/marquee/index.cjs +176 -0
- package/dist/components/marquee/index.d.cts +61 -0
- package/dist/components/marquee/index.d.mts +61 -0
- package/dist/components/marquee/index.mjs +155 -0
- package/dist/components/menu/index.cjs +548 -0
- package/dist/components/menu/index.d.cts +159 -0
- package/dist/components/menu/index.d.mts +162 -0
- package/dist/components/menu/index.mjs +512 -0
- package/dist/components/navigation-menu/index.cjs +339 -0
- package/dist/components/navigation-menu/index.d.cts +90 -0
- package/dist/components/navigation-menu/index.d.mts +90 -0
- package/dist/components/navigation-menu/index.mjs +312 -0
- package/dist/components/number-input/index.cjs +237 -0
- package/dist/components/number-input/index.d.cts +74 -0
- package/dist/components/number-input/index.d.mts +74 -0
- package/dist/components/number-input/index.mjs +213 -0
- package/dist/components/pagination/index.cjs +197 -0
- package/dist/components/pagination/index.d.cts +69 -0
- package/dist/components/pagination/index.d.mts +69 -0
- package/dist/components/pagination/index.mjs +174 -0
- package/dist/components/password-input/index.cjs +193 -0
- package/dist/components/password-input/index.d.cts +66 -0
- package/dist/components/password-input/index.d.mts +66 -0
- package/dist/components/password-input/index.mjs +171 -0
- package/dist/components/pin-input/index.cjs +192 -0
- package/dist/components/pin-input/index.d.cts +59 -0
- package/dist/components/pin-input/index.d.mts +59 -0
- package/dist/components/pin-input/index.mjs +171 -0
- package/dist/components/popover/index.cjs +237 -0
- package/dist/components/popover/index.d.cts +95 -0
- package/dist/components/popover/index.d.mts +96 -0
- package/dist/components/popover/index.mjs +210 -0
- package/dist/components/portal/index.cjs +3 -29
- package/dist/components/portal/index.d.cts +2 -2
- package/dist/components/portal/index.d.mts +2 -2
- package/dist/components/portal/index.mjs +5 -30
- package/dist/components/presence/index.d.cts +1 -1
- package/dist/components/presence/index.d.mts +3 -3
- package/dist/components/presence/index.mjs +5 -5
- package/dist/components/select/index.d.cts +21 -21
- package/dist/components/select/index.d.mts +22 -22
- package/dist/components/select/index.mjs +15 -15
- package/dist/components/tree-view/index.cjs +51 -0
- package/dist/components/tree-view/index.d.cts +3 -0
- package/dist/components/tree-view/index.d.mts +6 -0
- package/dist/components/tree-view/index.mjs +13 -0
- package/dist/{environment-Ded7DkGr.mjs → environment-Cc02I6aF.mjs} +1 -1
- package/dist/{factory-Bi8oEg8i.mjs → factory-7ydMApfi.mjs} +1 -1
- package/dist/{field-B-6qoKdn.mjs → field-BXY6su53.mjs} +9 -9
- package/dist/{fieldset-gaVneDYh.mjs → fieldset-BeHm9oxe.mjs} +8 -8
- package/dist/index-BcXWsxRa.d.mts +40 -0
- package/dist/{index-BhGgEHWc.d.cts → index-Bkxp7VrU.d.mts} +7 -7
- package/dist/index-Cquz7y70.d.cts +52 -0
- package/dist/index-DTzLUoop.d.cts +150 -0
- package/dist/{index-Cp1i1zbg.d.mts → index-aYGfRRLA.d.cts} +7 -7
- package/dist/index-wlpTZGhs.d.mts +150 -0
- package/dist/index.d.cts +6 -56
- package/dist/index.d.mts +6 -44
- package/dist/index.mjs +7 -7
- package/dist/{locale-Coin-d7R.mjs → locale-D4LX0eEq.mjs} +1 -1
- package/dist/portal-BOhFScBS.mjs +29 -0
- package/dist/portal-DRyJqgA1.cjs +35 -0
- package/dist/{presence-Bc6Bxe5i.mjs → presence-C9BcvdTf.mjs} +6 -6
- package/dist/{render-strategy-FiPgAp1U.mjs → render-strategy-BgIBKraZ.mjs} +2 -2
- package/dist/tree-view-CzJvwlYQ.mjs +365 -0
- package/dist/tree-view-DsOPEocd.cjs +509 -0
- package/dist/{use-fieldset-context-LwveT1OS.mjs → use-fieldset-context-6GRSrrlt.mjs} +1 -1
- package/dist/utils/index.d.cts +1 -1
- package/dist/utils/index.d.mts +1 -1
- package/dist/utils/index.mjs +2 -2
- package/package.json +132 -2
- /package/dist/{chunk-BXPHTOwk.mjs → chunk-BU8PiJgx.mjs} +0 -0
- /package/dist/{compose-refs-BEptPEkE.mjs → compose-refs-Cl5LpASY.mjs} +0 -0
- /package/dist/{core-Ba4IEjhK.mjs → core-79NSyZp-.mjs} +0 -0
- /package/dist/{create-context-CCXzjEv8.mjs → create-context-DbhrVE2B.mjs} +0 -0
- /package/dist/{create-split-props-CBL0m-GX.mjs → create-split-props-BJdRM9I_.mjs} +0 -0
- /package/dist/{factory-C-EBNsCW.d.mts → factory-DaVlp4Ba.d.mts} +0 -0
- /package/dist/{factory-C4cfTHs7.d.cts → factory-fcFI3pbG.d.cts} +0 -0
- /package/dist/{index-BJvW7OpY.d.mts → index-BLd57Y0z.d.mts} +0 -0
- /package/dist/{index-CureNJdc.d.mts → index-BoLg0FWF.d.mts} +0 -0
- /package/dist/{index-CumJbg8V.d.cts → index-CReeoTjv.d.cts} +0 -0
- /package/dist/{index-ByIsf4E7.d.mts → index-DPoOdvOg.d.mts} +0 -0
- /package/dist/{index-dbTyAXLy.d.cts → index-r8rv70-L.d.cts} +0 -0
- /package/dist/{normalize-props-skGwa8Dk.d.cts → normalize-props-Dw0EepzR.d.cts} +0 -0
- /package/dist/{providers-Dm2P3F2_.mjs → providers-CoJceYkV.mjs} +0 -0
- /package/dist/{render-strategy-C8IyLw0O.d.mts → render-strategy-CRwPcG33.d.mts} +0 -0
- /package/dist/{render-strategy-rA4C5NUX.d.cts → render-strategy-M8NkD01w.d.cts} +0 -0
- /package/dist/{types-B4tvWlDb.d.cts → types-CrwpJrFp.d.mts} +0 -0
- /package/dist/{types-BmBABPZb.d.mts → types-DcUAwTQC.d.cts} +0 -0
- /package/dist/{use-event-4J5QFFqK.mjs → use-event-B4e6iJDK.mjs} +0 -0
- /package/dist/{use-safe-layout-effect-CLjnuJFb.mjs → use-safe-layout-effect-DPn_9-dD.mjs} +0 -0
- /package/dist/{utils-C-m3mZWI.mjs → utils-BQJFlkDE.mjs} +0 -0
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
const require_chunk = require('../../chunk-BYnRvbsk.cjs');
|
|
2
|
+
require('../../core-DCWyxy9D.cjs');
|
|
3
|
+
const require_create_context = require('../../create-context-CQ4U0lLj.cjs');
|
|
4
|
+
require('../../environment-CvilmfQt.cjs');
|
|
5
|
+
require('../../locale-BcnWD1Hf.cjs');
|
|
6
|
+
require('../../providers-BNAArubQ.cjs');
|
|
7
|
+
require('../../factory-C166evrS.cjs');
|
|
8
|
+
require('../../collapsible-aFKYmVbP.cjs');
|
|
9
|
+
const require_create_split_props = require('../../create-split-props-Dp4TWOyM.cjs');
|
|
10
|
+
require('../../render-strategy-BywM_IvB.cjs');
|
|
11
|
+
require('../../use-event-CLH8zHoJ.cjs');
|
|
12
|
+
const require_collection = require('../../collection-DGEUORi5.cjs');
|
|
13
|
+
const require_tree_view = require('../../tree-view-DsOPEocd.cjs');
|
|
14
|
+
let react = require("react");
|
|
15
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
16
|
+
let __sprawlify_primitives_json_tree_utils = require("@sprawlify/primitives/json-tree-utils");
|
|
17
|
+
|
|
18
|
+
//#region src/components/json-tree-view/get-branch-value.ts
|
|
19
|
+
function getBranchValues(tree, depth) {
|
|
20
|
+
const values = [];
|
|
21
|
+
tree.visit({ onEnter: (node, indexPath) => {
|
|
22
|
+
if (indexPath.length === 0) return;
|
|
23
|
+
if (tree.isBranchNode(node) && indexPath.length <= depth) values.push(tree.getNodeValue(node));
|
|
24
|
+
} });
|
|
25
|
+
return values;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
//#endregion
|
|
29
|
+
//#region src/components/json-tree-view/json-tree-view-props-context.ts
|
|
30
|
+
const [JsonTreeViewPropsProvider, useJsonTreeViewPropsContext] = require_create_context.createContext({
|
|
31
|
+
name: "JsonTreeViewPropsContext",
|
|
32
|
+
hookName: "useJsonTreeViewPropsContext",
|
|
33
|
+
providerName: "<JsonTreeViewPropsProvider />"
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
//#endregion
|
|
37
|
+
//#region src/components/json-tree-view/json-tree-view-root.tsx
|
|
38
|
+
const splitJsonTreeViewProps = require_create_split_props.createSplitProps();
|
|
39
|
+
const JsonTreeViewRoot = (0, react.forwardRef)((props, ref) => {
|
|
40
|
+
const [jsonTreeProps, localProps] = splitJsonTreeViewProps(props, [
|
|
41
|
+
"maxPreviewItems",
|
|
42
|
+
"collapseStringsAfterLength",
|
|
43
|
+
"quotesOnKeys",
|
|
44
|
+
"groupArraysAfterLength",
|
|
45
|
+
"showNonenumerable"
|
|
46
|
+
]);
|
|
47
|
+
const { data, defaultExpandedDepth, ...restProps } = localProps;
|
|
48
|
+
const collection = (0, react.useMemo)(() => {
|
|
49
|
+
return require_collection.createTreeCollection({
|
|
50
|
+
nodeToValue: __sprawlify_primitives_json_tree_utils.nodeToValue,
|
|
51
|
+
nodeToString: __sprawlify_primitives_json_tree_utils.nodeToString,
|
|
52
|
+
rootNode: (0, __sprawlify_primitives_json_tree_utils.getRootNode)(data)
|
|
53
|
+
});
|
|
54
|
+
}, [data]);
|
|
55
|
+
const defaultExpandedValue = (0, react.useMemo)(() => {
|
|
56
|
+
return defaultExpandedDepth != null ? getBranchValues(collection, defaultExpandedDepth) : void 0;
|
|
57
|
+
}, [collection, defaultExpandedDepth]);
|
|
58
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(JsonTreeViewPropsProvider, {
|
|
59
|
+
value: jsonTreeProps,
|
|
60
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_tree_view.TreeViewRoot, {
|
|
61
|
+
"data-scope": "json-tree-view",
|
|
62
|
+
collection,
|
|
63
|
+
defaultExpandedValue,
|
|
64
|
+
...restProps,
|
|
65
|
+
ref
|
|
66
|
+
})
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
JsonTreeViewRoot.displayName = "JsonTreeViewRoot";
|
|
70
|
+
|
|
71
|
+
//#endregion
|
|
72
|
+
//#region src/components/json-tree-view/json-tree-view-root-provider.tsx
|
|
73
|
+
const JsonTreeViewRootProvider = (0, react.forwardRef)((props, ref) => {
|
|
74
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_tree_view.TreeViewRootProvider, {
|
|
75
|
+
"data-scope": "json-tree-view",
|
|
76
|
+
...props,
|
|
77
|
+
ref
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
JsonTreeViewRootProvider.displayName = "JsonTreeViewRootProvider";
|
|
81
|
+
|
|
82
|
+
//#endregion
|
|
83
|
+
//#region src/components/json-tree-view/json-tree-view-key-node.tsx
|
|
84
|
+
const JsonTreeViewKeyNode = (props) => {
|
|
85
|
+
const { node, showQuotes } = props;
|
|
86
|
+
const key = (0, __sprawlify_primitives_json_tree_utils.keyPathToKey)(node.keyPath);
|
|
87
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
88
|
+
"data-kind": "key",
|
|
89
|
+
suppressHydrationWarning: true,
|
|
90
|
+
"data-non-enumerable": node.isNonEnumerable ? "" : void 0,
|
|
91
|
+
children: showQuotes ? `"${key}"` : key
|
|
92
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
93
|
+
"data-kind": "colon",
|
|
94
|
+
children: ": "
|
|
95
|
+
})] });
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
//#endregion
|
|
99
|
+
//#region src/components/json-tree-view/json-tree-view-value-node.tsx
|
|
100
|
+
const JsonTreeViewValueNode = (props) => {
|
|
101
|
+
const { node, renderValue } = props;
|
|
102
|
+
if (node.type === "text") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: renderValue?.(node) ?? node.value });
|
|
103
|
+
const Element = node.tagName;
|
|
104
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Element, {
|
|
105
|
+
"data-root": node.properties.root ? "" : void 0,
|
|
106
|
+
"data-type": node.properties.nodeType,
|
|
107
|
+
"data-kind": node.properties.kind,
|
|
108
|
+
suppressHydrationWarning: true,
|
|
109
|
+
children: node.children.map((child, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(JsonTreeViewValueNode, {
|
|
110
|
+
node: child,
|
|
111
|
+
renderValue
|
|
112
|
+
}, index))
|
|
113
|
+
});
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
//#endregion
|
|
117
|
+
//#region src/components/json-tree-view/json-tree-view-node.tsx
|
|
118
|
+
const scopeProps = { "data-scope": "json-tree-view" };
|
|
119
|
+
function JsonTreeViewNode(props) {
|
|
120
|
+
const { node, indexPath, arrow, indentGuide, renderValue } = props;
|
|
121
|
+
const options = useJsonTreeViewPropsContext();
|
|
122
|
+
const nodeState = require_tree_view.useTreeViewContext().getNodeState({
|
|
123
|
+
node,
|
|
124
|
+
indexPath
|
|
125
|
+
});
|
|
126
|
+
const key = (0, __sprawlify_primitives_json_tree_utils.keyPathToKey)(node.keyPath, { excludeRoot: true });
|
|
127
|
+
const valueNode = (0, react.useMemo)(() => (0, __sprawlify_primitives_json_tree_utils.jsonNodeToElement)(node, options), [node, options]);
|
|
128
|
+
const nodeProps = (0, react.useMemo)(() => {
|
|
129
|
+
const desc = (0, __sprawlify_primitives_json_tree_utils.getAccessibleDescription)(node);
|
|
130
|
+
const line = indexPath.reduce((acc, curr) => acc + curr, 1);
|
|
131
|
+
const lineLength = indexPath.length - 1;
|
|
132
|
+
return {
|
|
133
|
+
...scopeProps,
|
|
134
|
+
"aria-label": desc,
|
|
135
|
+
"data-line": line,
|
|
136
|
+
style: { ["--line-length"]: lineLength }
|
|
137
|
+
};
|
|
138
|
+
}, [indexPath, node]);
|
|
139
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_tree_view.TreeViewNodeProvider, {
|
|
140
|
+
node,
|
|
141
|
+
indexPath,
|
|
142
|
+
children: nodeState.isBranch ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_tree_view.TreeViewBranch, {
|
|
143
|
+
...scopeProps,
|
|
144
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_tree_view.TreeViewBranchControl, {
|
|
145
|
+
...nodeProps,
|
|
146
|
+
children: [arrow && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_tree_view.TreeViewBranchIndicator, {
|
|
147
|
+
...scopeProps,
|
|
148
|
+
children: arrow
|
|
149
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_tree_view.TreeViewBranchText, {
|
|
150
|
+
...scopeProps,
|
|
151
|
+
children: [key && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(JsonTreeViewKeyNode, {
|
|
152
|
+
node,
|
|
153
|
+
showQuotes: options.quotesOnKeys
|
|
154
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(JsonTreeViewValueNode, {
|
|
155
|
+
node: valueNode,
|
|
156
|
+
renderValue
|
|
157
|
+
})]
|
|
158
|
+
})]
|
|
159
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_tree_view.TreeViewBranchContent, {
|
|
160
|
+
...scopeProps,
|
|
161
|
+
children: [typeof indentGuide === "boolean" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_tree_view.TreeViewBranchIndentGuide, {}) : indentGuide, node.children?.map((child, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(JsonTreeViewNode, {
|
|
162
|
+
...props,
|
|
163
|
+
node: child,
|
|
164
|
+
indexPath: [...indexPath, index]
|
|
165
|
+
}, index))]
|
|
166
|
+
})]
|
|
167
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_tree_view.TreeViewItem, {
|
|
168
|
+
...nodeProps,
|
|
169
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_tree_view.TreeViewItemText, {
|
|
170
|
+
...scopeProps,
|
|
171
|
+
children: [key && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(JsonTreeViewKeyNode, {
|
|
172
|
+
node,
|
|
173
|
+
showQuotes: options.quotesOnKeys
|
|
174
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(JsonTreeViewValueNode, {
|
|
175
|
+
node: valueNode,
|
|
176
|
+
renderValue
|
|
177
|
+
})]
|
|
178
|
+
})
|
|
179
|
+
})
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
//#endregion
|
|
184
|
+
//#region src/components/json-tree-view/json-tree-view-tree.tsx
|
|
185
|
+
const splitTreeNodeProps = require_create_split_props.createSplitProps();
|
|
186
|
+
const JsonTreeViewTree = (0, react.forwardRef)((props, ref) => {
|
|
187
|
+
const [nodeProps, treeProps] = splitTreeNodeProps(props, [
|
|
188
|
+
"arrow",
|
|
189
|
+
"indentGuide",
|
|
190
|
+
"renderValue"
|
|
191
|
+
]);
|
|
192
|
+
const tree = require_tree_view.useTreeViewContext();
|
|
193
|
+
const children = tree.collection.getNodeChildren(tree.collection.rootNode);
|
|
194
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_tree_view.TreeViewTree, {
|
|
195
|
+
"data-scope": "json-tree-view",
|
|
196
|
+
...treeProps,
|
|
197
|
+
ref,
|
|
198
|
+
children: children.map((child, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(JsonTreeViewNode, {
|
|
199
|
+
node: child,
|
|
200
|
+
indexPath: [index],
|
|
201
|
+
...nodeProps
|
|
202
|
+
}, index))
|
|
203
|
+
});
|
|
204
|
+
});
|
|
205
|
+
JsonTreeViewTree.displayName = "JsonTreeViewTree";
|
|
206
|
+
|
|
207
|
+
//#endregion
|
|
208
|
+
//#region src/components/json-tree-view/use-json-tree-view.ts
|
|
209
|
+
const useJsonTreeView = (props) => {
|
|
210
|
+
const { data, defaultExpandedDepth = 1, ...restProps } = props;
|
|
211
|
+
const collection = (0, react.useMemo)(() => {
|
|
212
|
+
return require_collection.createTreeCollection({
|
|
213
|
+
nodeToValue: __sprawlify_primitives_json_tree_utils.nodeToValue,
|
|
214
|
+
nodeToString: __sprawlify_primitives_json_tree_utils.nodeToString,
|
|
215
|
+
rootNode: (0, __sprawlify_primitives_json_tree_utils.getRootNode)(data)
|
|
216
|
+
});
|
|
217
|
+
}, [data]);
|
|
218
|
+
return require_tree_view.useTreeView({
|
|
219
|
+
defaultExpandedValue: (0, react.useMemo)(() => {
|
|
220
|
+
return defaultExpandedDepth != null ? getBranchValues(collection, defaultExpandedDepth) : void 0;
|
|
221
|
+
}, [collection, defaultExpandedDepth]),
|
|
222
|
+
...restProps,
|
|
223
|
+
collection,
|
|
224
|
+
typeahead: false
|
|
225
|
+
});
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
//#endregion
|
|
229
|
+
//#region src/components/json-tree-view/json-tree-view.tsx
|
|
230
|
+
var json_tree_view_exports = /* @__PURE__ */ require_chunk.__export({
|
|
231
|
+
Root: () => JsonTreeViewRoot,
|
|
232
|
+
RootProvider: () => JsonTreeViewRootProvider,
|
|
233
|
+
Tree: () => JsonTreeViewTree
|
|
234
|
+
});
|
|
235
|
+
|
|
236
|
+
//#endregion
|
|
237
|
+
Object.defineProperty(exports, 'JsonTreeView', {
|
|
238
|
+
enumerable: true,
|
|
239
|
+
get: function () {
|
|
240
|
+
return json_tree_view_exports;
|
|
241
|
+
}
|
|
242
|
+
});
|
|
243
|
+
exports.JsonTreeViewRoot = JsonTreeViewRoot;
|
|
244
|
+
exports.JsonTreeViewRootProvider = JsonTreeViewRootProvider;
|
|
245
|
+
exports.JsonTreeViewTree = JsonTreeViewTree;
|
|
246
|
+
exports.useJsonTreeView = useJsonTreeView;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { P as TreeViewRootProps, T as TreeViewTreeProps, at as UseTreeViewReturn, it as UseTreeViewProps, k as TreeViewRootProviderProps } from "../../index-DTzLUoop.cjs";
|
|
2
|
+
import * as react412 from "react";
|
|
3
|
+
import { JsonNode, JsonNodeHastElement, JsonNodePreviewOptions } from "@sprawlify/primitives/json-tree-utils";
|
|
4
|
+
|
|
5
|
+
//#region src/components/json-tree-view/json-tree-view-props-context.d.ts
|
|
6
|
+
interface JsonTreeViewOptions extends Partial<JsonNodePreviewOptions> {
|
|
7
|
+
quotesOnKeys?: boolean;
|
|
8
|
+
}
|
|
9
|
+
//#endregion
|
|
10
|
+
//#region src/components/json-tree-view/json-tree-view-root.d.ts
|
|
11
|
+
interface JsonTreeViewRootProps extends Omit<TreeViewRootProps<JsonNode>, "collection">, JsonTreeViewOptions {
|
|
12
|
+
data: unknown;
|
|
13
|
+
defaultExpandedDepth?: number;
|
|
14
|
+
}
|
|
15
|
+
declare const JsonTreeViewRoot: react412.ForwardRefExoticComponent<JsonTreeViewRootProps & react412.RefAttributes<HTMLDivElement>>;
|
|
16
|
+
//#endregion
|
|
17
|
+
//#region src/components/json-tree-view/json-tree-view-root-provider.d.ts
|
|
18
|
+
interface JsonTreeViewRootProviderProps extends TreeViewRootProviderProps<JsonNode> {}
|
|
19
|
+
declare const JsonTreeViewRootProvider: react412.ForwardRefExoticComponent<JsonTreeViewRootProviderProps & react412.RefAttributes<HTMLDivElement>>;
|
|
20
|
+
//#endregion
|
|
21
|
+
//#region src/components/json-tree-view/json-tree-view-node.d.ts
|
|
22
|
+
interface JsonTreeViewNodeBaseProps {
|
|
23
|
+
arrow?: React.ReactElement;
|
|
24
|
+
indentGuide?: boolean | React.ReactElement;
|
|
25
|
+
renderValue?: (node: JsonNodeHastElement) => React.ReactNode;
|
|
26
|
+
}
|
|
27
|
+
//#endregion
|
|
28
|
+
//#region src/components/json-tree-view/json-tree-view-tree.d.ts
|
|
29
|
+
interface JsonTreeViewTreeProps extends TreeViewTreeProps, JsonTreeViewNodeBaseProps {}
|
|
30
|
+
declare const JsonTreeViewTree: react412.ForwardRefExoticComponent<JsonTreeViewTreeProps & react412.RefAttributes<HTMLDivElement>>;
|
|
31
|
+
//#endregion
|
|
32
|
+
//#region src/components/json-tree-view/use-json-tree-view.d.ts
|
|
33
|
+
interface UseJsonTreeViewProps extends Omit<UseTreeViewProps<JsonNode>, "collection"> {
|
|
34
|
+
data: unknown;
|
|
35
|
+
defaultExpandedDepth?: number;
|
|
36
|
+
}
|
|
37
|
+
interface UseJsonTreeViewReturn extends UseTreeViewReturn<JsonNode> {}
|
|
38
|
+
declare const useJsonTreeView: (props: UseJsonTreeViewProps) => UseTreeViewReturn<JsonNode<any>>;
|
|
39
|
+
declare namespace json_tree_view_d_exports {
|
|
40
|
+
export { JsonTreeViewRoot as Root, JsonTreeViewRootProps as RootProps, JsonTreeViewRootProvider as RootProvider, JsonTreeViewRootProviderProps as RootProviderProps, JsonTreeViewTree as Tree, JsonTreeViewTreeProps as TreeProps };
|
|
41
|
+
}
|
|
42
|
+
//#endregion
|
|
43
|
+
export { json_tree_view_d_exports as JsonTreeView, JsonTreeViewRoot, type JsonTreeViewRootProps, JsonTreeViewRootProvider, type JsonTreeViewRootProviderProps, JsonTreeViewTree, type JsonTreeViewTreeProps, type UseJsonTreeViewProps, type UseJsonTreeViewReturn, useJsonTreeView };
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import "../../index-BLd57Y0z.mjs";
|
|
2
|
+
import "../../factory-DaVlp4Ba.mjs";
|
|
3
|
+
import "../../render-strategy-CRwPcG33.mjs";
|
|
4
|
+
import "../../index-DPoOdvOg.mjs";
|
|
5
|
+
import { P as TreeViewRootProps, T as TreeViewTreeProps, at as UseTreeViewReturn, it as UseTreeViewProps, k as TreeViewRootProviderProps } from "../../index-wlpTZGhs.mjs";
|
|
6
|
+
import * as react180 from "react";
|
|
7
|
+
import "react/jsx-runtime";
|
|
8
|
+
import { JsonNode, JsonNodeHastElement, JsonNodePreviewOptions } from "@sprawlify/primitives/json-tree-utils";
|
|
9
|
+
|
|
10
|
+
//#region src/components/json-tree-view/json-tree-view-props-context.d.ts
|
|
11
|
+
interface JsonTreeViewOptions extends Partial<JsonNodePreviewOptions> {
|
|
12
|
+
quotesOnKeys?: boolean;
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
//#region src/components/json-tree-view/json-tree-view-root.d.ts
|
|
16
|
+
interface JsonTreeViewRootProps extends Omit<TreeViewRootProps<JsonNode>, "collection">, JsonTreeViewOptions {
|
|
17
|
+
data: unknown;
|
|
18
|
+
defaultExpandedDepth?: number;
|
|
19
|
+
}
|
|
20
|
+
declare const JsonTreeViewRoot: react180.ForwardRefExoticComponent<JsonTreeViewRootProps & react180.RefAttributes<HTMLDivElement>>;
|
|
21
|
+
//#endregion
|
|
22
|
+
//#region src/components/json-tree-view/json-tree-view-root-provider.d.ts
|
|
23
|
+
interface JsonTreeViewRootProviderProps extends TreeViewRootProviderProps<JsonNode> {}
|
|
24
|
+
declare const JsonTreeViewRootProvider: react180.ForwardRefExoticComponent<JsonTreeViewRootProviderProps & react180.RefAttributes<HTMLDivElement>>;
|
|
25
|
+
//#endregion
|
|
26
|
+
//#region src/components/json-tree-view/json-tree-view-node.d.ts
|
|
27
|
+
interface JsonTreeViewNodeBaseProps {
|
|
28
|
+
arrow?: React.ReactElement;
|
|
29
|
+
indentGuide?: boolean | React.ReactElement;
|
|
30
|
+
renderValue?: (node: JsonNodeHastElement) => React.ReactNode;
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
//#region src/components/json-tree-view/json-tree-view-tree.d.ts
|
|
34
|
+
interface JsonTreeViewTreeProps extends TreeViewTreeProps, JsonTreeViewNodeBaseProps {}
|
|
35
|
+
declare const JsonTreeViewTree: react180.ForwardRefExoticComponent<JsonTreeViewTreeProps & react180.RefAttributes<HTMLDivElement>>;
|
|
36
|
+
//#endregion
|
|
37
|
+
//#region src/components/json-tree-view/use-json-tree-view.d.ts
|
|
38
|
+
interface UseJsonTreeViewProps extends Omit<UseTreeViewProps<JsonNode>, "collection"> {
|
|
39
|
+
data: unknown;
|
|
40
|
+
defaultExpandedDepth?: number;
|
|
41
|
+
}
|
|
42
|
+
interface UseJsonTreeViewReturn extends UseTreeViewReturn<JsonNode> {}
|
|
43
|
+
declare const useJsonTreeView: (props: UseJsonTreeViewProps) => UseTreeViewReturn<JsonNode<any>>;
|
|
44
|
+
declare namespace json_tree_view_d_exports {
|
|
45
|
+
export { JsonTreeViewRoot as Root, JsonTreeViewRootProps as RootProps, JsonTreeViewRootProvider as RootProvider, JsonTreeViewRootProviderProps as RootProviderProps, JsonTreeViewTree as Tree, JsonTreeViewTreeProps as TreeProps };
|
|
46
|
+
}
|
|
47
|
+
//#endregion
|
|
48
|
+
export { json_tree_view_d_exports as JsonTreeView, JsonTreeViewRoot, type JsonTreeViewRootProps, JsonTreeViewRootProvider, type JsonTreeViewRootProviderProps, JsonTreeViewTree, type JsonTreeViewTreeProps, type UseJsonTreeViewProps, type UseJsonTreeViewReturn, useJsonTreeView };
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import { t as __export } from "../../chunk-BU8PiJgx.mjs";
|
|
2
|
+
import "../../core-79NSyZp-.mjs";
|
|
3
|
+
import { t as createContext$1 } from "../../create-context-DbhrVE2B.mjs";
|
|
4
|
+
import "../../environment-Cc02I6aF.mjs";
|
|
5
|
+
import "../../locale-D4LX0eEq.mjs";
|
|
6
|
+
import "../../providers-CoJceYkV.mjs";
|
|
7
|
+
import "../../factory-7ydMApfi.mjs";
|
|
8
|
+
import "../../collapsible-vqmKK3px.mjs";
|
|
9
|
+
import { t as createSplitProps } from "../../create-split-props-BJdRM9I_.mjs";
|
|
10
|
+
import "../../render-strategy-BgIBKraZ.mjs";
|
|
11
|
+
import "../../use-event-B4e6iJDK.mjs";
|
|
12
|
+
import { a as createTreeCollection } from "../../collection-BYYMj_V8.mjs";
|
|
13
|
+
import { C as TreeViewBranch, S as TreeViewBranchContent, T as useTreeViewContext, b as TreeViewBranchIndentGuide, c as TreeViewRoot, h as TreeViewItem, l as useTreeView, o as TreeViewTree, p as TreeViewItemText, s as TreeViewRootProvider, u as TreeViewNodeProvider, v as TreeViewBranchText, x as TreeViewBranchControl, y as TreeViewBranchIndicator } from "../../tree-view-CzJvwlYQ.mjs";
|
|
14
|
+
import { forwardRef, useMemo } from "react";
|
|
15
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
16
|
+
import { getAccessibleDescription, getRootNode, jsonNodeToElement, keyPathToKey, nodeToString, nodeToValue } from "@sprawlify/primitives/json-tree-utils";
|
|
17
|
+
|
|
18
|
+
//#region src/components/json-tree-view/get-branch-value.ts
|
|
19
|
+
function getBranchValues(tree, depth) {
|
|
20
|
+
const values = [];
|
|
21
|
+
tree.visit({ onEnter: (node, indexPath) => {
|
|
22
|
+
if (indexPath.length === 0) return;
|
|
23
|
+
if (tree.isBranchNode(node) && indexPath.length <= depth) values.push(tree.getNodeValue(node));
|
|
24
|
+
} });
|
|
25
|
+
return values;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
//#endregion
|
|
29
|
+
//#region src/components/json-tree-view/json-tree-view-props-context.ts
|
|
30
|
+
const [JsonTreeViewPropsProvider, useJsonTreeViewPropsContext] = createContext$1({
|
|
31
|
+
name: "JsonTreeViewPropsContext",
|
|
32
|
+
hookName: "useJsonTreeViewPropsContext",
|
|
33
|
+
providerName: "<JsonTreeViewPropsProvider />"
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
//#endregion
|
|
37
|
+
//#region src/components/json-tree-view/json-tree-view-root.tsx
|
|
38
|
+
const splitJsonTreeViewProps = createSplitProps();
|
|
39
|
+
const JsonTreeViewRoot = forwardRef((props, ref) => {
|
|
40
|
+
const [jsonTreeProps, localProps] = splitJsonTreeViewProps(props, [
|
|
41
|
+
"maxPreviewItems",
|
|
42
|
+
"collapseStringsAfterLength",
|
|
43
|
+
"quotesOnKeys",
|
|
44
|
+
"groupArraysAfterLength",
|
|
45
|
+
"showNonenumerable"
|
|
46
|
+
]);
|
|
47
|
+
const { data, defaultExpandedDepth, ...restProps } = localProps;
|
|
48
|
+
const collection = useMemo(() => {
|
|
49
|
+
return createTreeCollection({
|
|
50
|
+
nodeToValue,
|
|
51
|
+
nodeToString,
|
|
52
|
+
rootNode: getRootNode(data)
|
|
53
|
+
});
|
|
54
|
+
}, [data]);
|
|
55
|
+
const defaultExpandedValue = useMemo(() => {
|
|
56
|
+
return defaultExpandedDepth != null ? getBranchValues(collection, defaultExpandedDepth) : void 0;
|
|
57
|
+
}, [collection, defaultExpandedDepth]);
|
|
58
|
+
return /* @__PURE__ */ jsx(JsonTreeViewPropsProvider, {
|
|
59
|
+
value: jsonTreeProps,
|
|
60
|
+
children: /* @__PURE__ */ jsx(TreeViewRoot, {
|
|
61
|
+
"data-scope": "json-tree-view",
|
|
62
|
+
collection,
|
|
63
|
+
defaultExpandedValue,
|
|
64
|
+
...restProps,
|
|
65
|
+
ref
|
|
66
|
+
})
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
JsonTreeViewRoot.displayName = "JsonTreeViewRoot";
|
|
70
|
+
|
|
71
|
+
//#endregion
|
|
72
|
+
//#region src/components/json-tree-view/json-tree-view-root-provider.tsx
|
|
73
|
+
const JsonTreeViewRootProvider = forwardRef((props, ref) => {
|
|
74
|
+
return /* @__PURE__ */ jsx(TreeViewRootProvider, {
|
|
75
|
+
"data-scope": "json-tree-view",
|
|
76
|
+
...props,
|
|
77
|
+
ref
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
JsonTreeViewRootProvider.displayName = "JsonTreeViewRootProvider";
|
|
81
|
+
|
|
82
|
+
//#endregion
|
|
83
|
+
//#region src/components/json-tree-view/json-tree-view-key-node.tsx
|
|
84
|
+
const JsonTreeViewKeyNode = (props) => {
|
|
85
|
+
const { node, showQuotes } = props;
|
|
86
|
+
const key = keyPathToKey(node.keyPath);
|
|
87
|
+
return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("span", {
|
|
88
|
+
"data-kind": "key",
|
|
89
|
+
suppressHydrationWarning: true,
|
|
90
|
+
"data-non-enumerable": node.isNonEnumerable ? "" : void 0,
|
|
91
|
+
children: showQuotes ? `"${key}"` : key
|
|
92
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
93
|
+
"data-kind": "colon",
|
|
94
|
+
children: ": "
|
|
95
|
+
})] });
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
//#endregion
|
|
99
|
+
//#region src/components/json-tree-view/json-tree-view-value-node.tsx
|
|
100
|
+
const JsonTreeViewValueNode = (props) => {
|
|
101
|
+
const { node, renderValue } = props;
|
|
102
|
+
if (node.type === "text") return /* @__PURE__ */ jsx(Fragment$1, { children: renderValue?.(node) ?? node.value });
|
|
103
|
+
const Element = node.tagName;
|
|
104
|
+
return /* @__PURE__ */ jsx(Element, {
|
|
105
|
+
"data-root": node.properties.root ? "" : void 0,
|
|
106
|
+
"data-type": node.properties.nodeType,
|
|
107
|
+
"data-kind": node.properties.kind,
|
|
108
|
+
suppressHydrationWarning: true,
|
|
109
|
+
children: node.children.map((child, index) => /* @__PURE__ */ jsx(JsonTreeViewValueNode, {
|
|
110
|
+
node: child,
|
|
111
|
+
renderValue
|
|
112
|
+
}, index))
|
|
113
|
+
});
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
//#endregion
|
|
117
|
+
//#region src/components/json-tree-view/json-tree-view-node.tsx
|
|
118
|
+
const scopeProps = { "data-scope": "json-tree-view" };
|
|
119
|
+
function JsonTreeViewNode(props) {
|
|
120
|
+
const { node, indexPath, arrow, indentGuide, renderValue } = props;
|
|
121
|
+
const options = useJsonTreeViewPropsContext();
|
|
122
|
+
const nodeState = useTreeViewContext().getNodeState({
|
|
123
|
+
node,
|
|
124
|
+
indexPath
|
|
125
|
+
});
|
|
126
|
+
const key = keyPathToKey(node.keyPath, { excludeRoot: true });
|
|
127
|
+
const valueNode = useMemo(() => jsonNodeToElement(node, options), [node, options]);
|
|
128
|
+
const nodeProps = useMemo(() => {
|
|
129
|
+
const desc = getAccessibleDescription(node);
|
|
130
|
+
const line = indexPath.reduce((acc, curr) => acc + curr, 1);
|
|
131
|
+
const lineLength = indexPath.length - 1;
|
|
132
|
+
return {
|
|
133
|
+
...scopeProps,
|
|
134
|
+
"aria-label": desc,
|
|
135
|
+
"data-line": line,
|
|
136
|
+
style: { ["--line-length"]: lineLength }
|
|
137
|
+
};
|
|
138
|
+
}, [indexPath, node]);
|
|
139
|
+
return /* @__PURE__ */ jsx(TreeViewNodeProvider, {
|
|
140
|
+
node,
|
|
141
|
+
indexPath,
|
|
142
|
+
children: nodeState.isBranch ? /* @__PURE__ */ jsxs(TreeViewBranch, {
|
|
143
|
+
...scopeProps,
|
|
144
|
+
children: [/* @__PURE__ */ jsxs(TreeViewBranchControl, {
|
|
145
|
+
...nodeProps,
|
|
146
|
+
children: [arrow && /* @__PURE__ */ jsx(TreeViewBranchIndicator, {
|
|
147
|
+
...scopeProps,
|
|
148
|
+
children: arrow
|
|
149
|
+
}), /* @__PURE__ */ jsxs(TreeViewBranchText, {
|
|
150
|
+
...scopeProps,
|
|
151
|
+
children: [key && /* @__PURE__ */ jsx(JsonTreeViewKeyNode, {
|
|
152
|
+
node,
|
|
153
|
+
showQuotes: options.quotesOnKeys
|
|
154
|
+
}), /* @__PURE__ */ jsx(JsonTreeViewValueNode, {
|
|
155
|
+
node: valueNode,
|
|
156
|
+
renderValue
|
|
157
|
+
})]
|
|
158
|
+
})]
|
|
159
|
+
}), /* @__PURE__ */ jsxs(TreeViewBranchContent, {
|
|
160
|
+
...scopeProps,
|
|
161
|
+
children: [typeof indentGuide === "boolean" ? /* @__PURE__ */ jsx(TreeViewBranchIndentGuide, {}) : indentGuide, node.children?.map((child, index) => /* @__PURE__ */ jsx(JsonTreeViewNode, {
|
|
162
|
+
...props,
|
|
163
|
+
node: child,
|
|
164
|
+
indexPath: [...indexPath, index]
|
|
165
|
+
}, index))]
|
|
166
|
+
})]
|
|
167
|
+
}) : /* @__PURE__ */ jsx(TreeViewItem, {
|
|
168
|
+
...nodeProps,
|
|
169
|
+
children: /* @__PURE__ */ jsxs(TreeViewItemText, {
|
|
170
|
+
...scopeProps,
|
|
171
|
+
children: [key && /* @__PURE__ */ jsx(JsonTreeViewKeyNode, {
|
|
172
|
+
node,
|
|
173
|
+
showQuotes: options.quotesOnKeys
|
|
174
|
+
}), /* @__PURE__ */ jsx(JsonTreeViewValueNode, {
|
|
175
|
+
node: valueNode,
|
|
176
|
+
renderValue
|
|
177
|
+
})]
|
|
178
|
+
})
|
|
179
|
+
})
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
//#endregion
|
|
184
|
+
//#region src/components/json-tree-view/json-tree-view-tree.tsx
|
|
185
|
+
const splitTreeNodeProps = createSplitProps();
|
|
186
|
+
const JsonTreeViewTree = forwardRef((props, ref) => {
|
|
187
|
+
const [nodeProps, treeProps] = splitTreeNodeProps(props, [
|
|
188
|
+
"arrow",
|
|
189
|
+
"indentGuide",
|
|
190
|
+
"renderValue"
|
|
191
|
+
]);
|
|
192
|
+
const tree = useTreeViewContext();
|
|
193
|
+
const children = tree.collection.getNodeChildren(tree.collection.rootNode);
|
|
194
|
+
return /* @__PURE__ */ jsx(TreeViewTree, {
|
|
195
|
+
"data-scope": "json-tree-view",
|
|
196
|
+
...treeProps,
|
|
197
|
+
ref,
|
|
198
|
+
children: children.map((child, index) => /* @__PURE__ */ jsx(JsonTreeViewNode, {
|
|
199
|
+
node: child,
|
|
200
|
+
indexPath: [index],
|
|
201
|
+
...nodeProps
|
|
202
|
+
}, index))
|
|
203
|
+
});
|
|
204
|
+
});
|
|
205
|
+
JsonTreeViewTree.displayName = "JsonTreeViewTree";
|
|
206
|
+
|
|
207
|
+
//#endregion
|
|
208
|
+
//#region src/components/json-tree-view/use-json-tree-view.ts
|
|
209
|
+
const useJsonTreeView = (props) => {
|
|
210
|
+
const { data, defaultExpandedDepth = 1, ...restProps } = props;
|
|
211
|
+
const collection = useMemo(() => {
|
|
212
|
+
return createTreeCollection({
|
|
213
|
+
nodeToValue,
|
|
214
|
+
nodeToString,
|
|
215
|
+
rootNode: getRootNode(data)
|
|
216
|
+
});
|
|
217
|
+
}, [data]);
|
|
218
|
+
return useTreeView({
|
|
219
|
+
defaultExpandedValue: useMemo(() => {
|
|
220
|
+
return defaultExpandedDepth != null ? getBranchValues(collection, defaultExpandedDepth) : void 0;
|
|
221
|
+
}, [collection, defaultExpandedDepth]),
|
|
222
|
+
...restProps,
|
|
223
|
+
collection,
|
|
224
|
+
typeahead: false
|
|
225
|
+
});
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
//#endregion
|
|
229
|
+
//#region src/components/json-tree-view/json-tree-view.tsx
|
|
230
|
+
var json_tree_view_exports = /* @__PURE__ */ __export({
|
|
231
|
+
Root: () => JsonTreeViewRoot,
|
|
232
|
+
RootProvider: () => JsonTreeViewRootProvider,
|
|
233
|
+
Tree: () => JsonTreeViewTree
|
|
234
|
+
});
|
|
235
|
+
|
|
236
|
+
//#endregion
|
|
237
|
+
export { json_tree_view_exports as JsonTreeView, JsonTreeViewRoot, JsonTreeViewRootProvider, JsonTreeViewTree, useJsonTreeView };
|