@sprawlify/react 0.0.8 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. package/dist/{collapsible-Nbt3Sequ.mjs → collapsible-DCBcxJA8.mjs} +7 -7
  2. package/dist/{collection-DQWWySNV.mjs → collection-XVYHjcEl.mjs} +2 -2
  3. package/dist/components/accordion/index.d.cts +11 -11
  4. package/dist/components/accordion/index.d.mts +11 -11
  5. package/dist/components/accordion/index.mjs +10 -10
  6. package/dist/components/angle-slider/index.d.cts +13 -13
  7. package/dist/components/angle-slider/index.d.mts +13 -13
  8. package/dist/components/angle-slider/index.mjs +8 -8
  9. package/dist/components/avatar/index.d.cts +8 -8
  10. package/dist/components/avatar/index.d.mts +8 -8
  11. package/dist/components/avatar/index.mjs +8 -8
  12. package/dist/components/bottom-sheet/index.d.cts +15 -15
  13. package/dist/components/bottom-sheet/index.d.mts +16 -16
  14. package/dist/components/bottom-sheet/index.mjs +12 -12
  15. package/dist/components/carousel/index.d.cts +17 -17
  16. package/dist/components/carousel/index.d.mts +18 -18
  17. package/dist/components/carousel/index.mjs +8 -8
  18. package/dist/components/checkbox/index.d.cts +14 -14
  19. package/dist/components/checkbox/index.d.mts +14 -14
  20. package/dist/components/checkbox/index.mjs +13 -13
  21. package/dist/components/clipboard/index.d.cts +12 -12
  22. package/dist/components/clipboard/index.d.mts +12 -12
  23. package/dist/components/clipboard/index.mjs +6 -6
  24. package/dist/components/collapsible/index.d.cts +10 -10
  25. package/dist/components/collapsible/index.d.mts +10 -10
  26. package/dist/components/collapsible/index.mjs +7 -7
  27. package/dist/components/collection/index.d.cts +1 -1
  28. package/dist/components/collection/index.d.mts +1 -1
  29. package/dist/components/collection/index.mjs +3 -3
  30. package/dist/components/color-picker/index.d.cts +35 -35
  31. package/dist/components/color-picker/index.d.mts +36 -36
  32. package/dist/components/color-picker/index.mjs +14 -14
  33. package/dist/components/combobox/index.d.cts +21 -21
  34. package/dist/components/combobox/index.d.mts +23 -23
  35. package/dist/components/combobox/index.mjs +15 -15
  36. package/dist/components/date-picker/index.d.cts +32 -32
  37. package/dist/components/date-picker/index.d.mts +33 -33
  38. package/dist/components/date-picker/index.mjs +11 -11
  39. package/dist/components/dialog/index.d.cts +15 -15
  40. package/dist/components/dialog/index.d.mts +16 -16
  41. package/dist/components/dialog/index.mjs +11 -11
  42. package/dist/components/download-trigger/index.d.cts +4 -4
  43. package/dist/components/download-trigger/index.d.mts +4 -4
  44. package/dist/components/download-trigger/index.mjs +5 -5
  45. package/dist/components/editable/index.d.cts +13 -13
  46. package/dist/components/editable/index.d.mts +13 -13
  47. package/dist/components/editable/index.mjs +11 -11
  48. package/dist/components/field/index.d.cts +14 -14
  49. package/dist/components/field/index.d.mts +14 -14
  50. package/dist/components/field/index.mjs +9 -9
  51. package/dist/components/fieldset/index.d.cts +10 -10
  52. package/dist/components/fieldset/index.d.mts +10 -10
  53. package/dist/components/fieldset/index.mjs +9 -9
  54. package/dist/components/file-upload/index.d.cts +18 -18
  55. package/dist/components/file-upload/index.d.mts +18 -18
  56. package/dist/components/file-upload/index.mjs +11 -11
  57. package/dist/components/floating-panel/index.d.cts +19 -19
  58. package/dist/components/floating-panel/index.d.mts +20 -20
  59. package/dist/components/floating-panel/index.mjs +11 -11
  60. package/dist/components/focus-trap/index.d.cts +4 -4
  61. package/dist/components/focus-trap/index.d.mts +4 -4
  62. package/dist/components/focus-trap/index.mjs +4 -4
  63. package/dist/components/format/index.d.cts +4 -4
  64. package/dist/components/format/index.d.mts +4 -4
  65. package/dist/components/format/index.mjs +3 -3
  66. package/dist/components/frame/index.d.cts +3 -3
  67. package/dist/components/frame/index.d.mts +3 -3
  68. package/dist/components/frame/index.mjs +6 -6
  69. package/dist/components/highlight/index.d.cts +3 -3
  70. package/dist/components/highlight/index.d.mts +3 -3
  71. package/dist/components/highlight/index.mjs +1 -1
  72. package/dist/components/hover-card/index.cjs +165 -0
  73. package/dist/components/hover-card/index.d.cts +70 -0
  74. package/dist/components/hover-card/index.d.mts +71 -0
  75. package/dist/components/hover-card/index.mjs +143 -0
  76. package/dist/components/image-cropper/index.cjs +197 -0
  77. package/dist/components/image-cropper/index.d.cts +64 -0
  78. package/dist/components/image-cropper/index.d.mts +64 -0
  79. package/dist/components/image-cropper/index.mjs +175 -0
  80. package/dist/components/json-tree-view/index.cjs +246 -0
  81. package/dist/components/json-tree-view/index.d.cts +43 -0
  82. package/dist/components/json-tree-view/index.d.mts +48 -0
  83. package/dist/components/json-tree-view/index.mjs +237 -0
  84. package/dist/components/listbox/index.cjs +314 -0
  85. package/dist/components/listbox/index.d.cts +110 -0
  86. package/dist/components/listbox/index.d.mts +110 -0
  87. package/dist/components/listbox/index.mjs +289 -0
  88. package/dist/components/marquee/index.cjs +176 -0
  89. package/dist/components/marquee/index.d.cts +61 -0
  90. package/dist/components/marquee/index.d.mts +61 -0
  91. package/dist/components/marquee/index.mjs +155 -0
  92. package/dist/components/menu/index.cjs +548 -0
  93. package/dist/components/menu/index.d.cts +159 -0
  94. package/dist/components/menu/index.d.mts +162 -0
  95. package/dist/components/menu/index.mjs +512 -0
  96. package/dist/components/navigation-menu/index.cjs +339 -0
  97. package/dist/components/navigation-menu/index.d.cts +90 -0
  98. package/dist/components/navigation-menu/index.d.mts +90 -0
  99. package/dist/components/navigation-menu/index.mjs +312 -0
  100. package/dist/components/number-input/index.cjs +237 -0
  101. package/dist/components/number-input/index.d.cts +74 -0
  102. package/dist/components/number-input/index.d.mts +74 -0
  103. package/dist/components/number-input/index.mjs +213 -0
  104. package/dist/components/pagination/index.cjs +197 -0
  105. package/dist/components/pagination/index.d.cts +69 -0
  106. package/dist/components/pagination/index.d.mts +69 -0
  107. package/dist/components/pagination/index.mjs +174 -0
  108. package/dist/components/password-input/index.cjs +193 -0
  109. package/dist/components/password-input/index.d.cts +66 -0
  110. package/dist/components/password-input/index.d.mts +66 -0
  111. package/dist/components/password-input/index.mjs +171 -0
  112. package/dist/components/pin-input/index.cjs +192 -0
  113. package/dist/components/pin-input/index.d.cts +59 -0
  114. package/dist/components/pin-input/index.d.mts +59 -0
  115. package/dist/components/pin-input/index.mjs +171 -0
  116. package/dist/components/popover/index.cjs +237 -0
  117. package/dist/components/popover/index.d.cts +95 -0
  118. package/dist/components/popover/index.d.mts +96 -0
  119. package/dist/components/popover/index.mjs +210 -0
  120. package/dist/components/portal/index.cjs +3 -29
  121. package/dist/components/portal/index.d.cts +2 -2
  122. package/dist/components/portal/index.d.mts +2 -2
  123. package/dist/components/portal/index.mjs +5 -30
  124. package/dist/components/presence/index.d.cts +1 -1
  125. package/dist/components/presence/index.d.mts +3 -3
  126. package/dist/components/presence/index.mjs +5 -5
  127. package/dist/components/progress/index.cjs +222 -0
  128. package/dist/components/progress/index.d.cts +79 -0
  129. package/dist/components/progress/index.d.mts +79 -0
  130. package/dist/components/progress/index.mjs +197 -0
  131. package/dist/components/qr-code/index.cjs +166 -0
  132. package/dist/components/qr-code/index.d.cts +59 -0
  133. package/dist/components/qr-code/index.d.mts +59 -0
  134. package/dist/components/qr-code/index.mjs +145 -0
  135. package/dist/components/radio-group/index.cjs +240 -0
  136. package/dist/components/radio-group/index.d.cts +78 -0
  137. package/dist/components/radio-group/index.d.mts +78 -0
  138. package/dist/components/radio-group/index.mjs +215 -0
  139. package/dist/components/rating-group/index.cjs +202 -0
  140. package/dist/components/rating-group/index.d.cts +68 -0
  141. package/dist/components/rating-group/index.d.mts +68 -0
  142. package/dist/components/rating-group/index.mjs +179 -0
  143. package/dist/components/scroll-area/index.cjs +180 -0
  144. package/dist/components/scroll-area/index.d.cts +68 -0
  145. package/dist/components/scroll-area/index.d.mts +68 -0
  146. package/dist/components/scroll-area/index.mjs +158 -0
  147. package/dist/components/segment-group/index.cjs +233 -0
  148. package/dist/components/segment-group/index.d.cts +82 -0
  149. package/dist/components/segment-group/index.d.mts +82 -0
  150. package/dist/components/segment-group/index.mjs +213 -0
  151. package/dist/components/select/index.d.cts +21 -21
  152. package/dist/components/select/index.d.mts +22 -22
  153. package/dist/components/select/index.mjs +15 -15
  154. package/dist/components/tree-view/index.cjs +51 -0
  155. package/dist/components/tree-view/index.d.cts +3 -0
  156. package/dist/components/tree-view/index.d.mts +6 -0
  157. package/dist/components/tree-view/index.mjs +13 -0
  158. package/dist/{environment-Ded7DkGr.mjs → environment-Cnx9ZBbN.mjs} +1 -1
  159. package/dist/{factory-Bi8oEg8i.mjs → factory-BwIiMV5g.mjs} +1 -1
  160. package/dist/{field-B-6qoKdn.mjs → field-BuPxh7ZO.mjs} +9 -9
  161. package/dist/{fieldset-gaVneDYh.mjs → fieldset-UIFriN0i.mjs} +8 -8
  162. package/dist/index-BoKwZUuR.d.mts +150 -0
  163. package/dist/{index-BhGgEHWc.d.cts → index-C-uklBbh.d.cts} +7 -7
  164. package/dist/index-CQrt31Vz.d.mts +40 -0
  165. package/dist/index-IQMPWCzE.d.cts +150 -0
  166. package/dist/index-YjtX6_Hn.d.cts +52 -0
  167. package/dist/{index-Cp1i1zbg.d.mts → index-tmg3Dc0S.d.mts} +7 -7
  168. package/dist/index.d.cts +6 -56
  169. package/dist/index.d.mts +6 -44
  170. package/dist/index.mjs +7 -7
  171. package/dist/{locale-Coin-d7R.mjs → locale-BheNIyu4.mjs} +1 -1
  172. package/dist/portal-Cf1DNJ7L.mjs +29 -0
  173. package/dist/portal-DRyJqgA1.cjs +35 -0
  174. package/dist/{presence-Bc6Bxe5i.mjs → presence-D-rmmMDm.mjs} +6 -6
  175. package/dist/{render-strategy-FiPgAp1U.mjs → render-strategy-D2htg_Zz.mjs} +2 -2
  176. package/dist/tree-view-Br67rmuK.mjs +365 -0
  177. package/dist/tree-view-DsOPEocd.cjs +509 -0
  178. package/dist/{use-fieldset-context-LwveT1OS.mjs → use-fieldset-context-DPgRcctn.mjs} +1 -1
  179. package/dist/utils/index.d.cts +1 -1
  180. package/dist/utils/index.d.mts +1 -1
  181. package/dist/utils/index.mjs +2 -2
  182. package/package.json +192 -2
  183. /package/dist/{chunk-BXPHTOwk.mjs → chunk-tPcuhsU6.mjs} +0 -0
  184. /package/dist/{compose-refs-BEptPEkE.mjs → compose-refs-ymQahgeo.mjs} +0 -0
  185. /package/dist/{core-Ba4IEjhK.mjs → core-BrQa5x6H.mjs} +0 -0
  186. /package/dist/{create-context-CCXzjEv8.mjs → create-context-aizX7yAt.mjs} +0 -0
  187. /package/dist/{create-split-props-CBL0m-GX.mjs → create-split-props-BHHQqbKs.mjs} +0 -0
  188. /package/dist/{factory-C-EBNsCW.d.mts → factory-Bv0JsGLd.d.cts} +0 -0
  189. /package/dist/{factory-C4cfTHs7.d.cts → factory-DcDjbYQq.d.mts} +0 -0
  190. /package/dist/{index-ByIsf4E7.d.mts → index-BH0zbKp3.d.mts} +0 -0
  191. /package/dist/{index-CumJbg8V.d.cts → index-CsVbgeF4.d.cts} +0 -0
  192. /package/dist/{index-dbTyAXLy.d.cts → index-D2T5b4fK.d.cts} +0 -0
  193. /package/dist/{index-BJvW7OpY.d.mts → index-DJx_8PSR.d.mts} +0 -0
  194. /package/dist/{index-CureNJdc.d.mts → index-WJ-tNaCp.d.mts} +0 -0
  195. /package/dist/{normalize-props-skGwa8Dk.d.cts → normalize-props-EzaAUPva.d.cts} +0 -0
  196. /package/dist/{providers-Dm2P3F2_.mjs → providers-B1DbplwV.mjs} +0 -0
  197. /package/dist/{render-strategy-C8IyLw0O.d.mts → render-strategy-C5J78Qs-.d.mts} +0 -0
  198. /package/dist/{render-strategy-rA4C5NUX.d.cts → render-strategy-DEUBHfUP.d.cts} +0 -0
  199. /package/dist/{types-B4tvWlDb.d.cts → types-C2LNTNCl.d.cts} +0 -0
  200. /package/dist/{types-BmBABPZb.d.mts → types-CdhepaRC.d.mts} +0 -0
  201. /package/dist/{use-event-4J5QFFqK.mjs → use-event-qKb6UUEI.mjs} +0 -0
  202. /package/dist/{use-safe-layout-effect-CLjnuJFb.mjs → use-safe-layout-effect-BHE-Ll-k.mjs} +0 -0
  203. /package/dist/{utils-C-m3mZWI.mjs → utils-Bx4WJ5W9.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-IQMPWCzE.cjs";
2
+ import * as react309 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: react309.ForwardRefExoticComponent<JsonTreeViewRootProps & react309.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: react309.ForwardRefExoticComponent<JsonTreeViewRootProviderProps & react309.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: react309.ForwardRefExoticComponent<JsonTreeViewTreeProps & react309.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-DJx_8PSR.mjs";
2
+ import "../../factory-DcDjbYQq.mjs";
3
+ import "../../render-strategy-C5J78Qs-.mjs";
4
+ import "../../index-BH0zbKp3.mjs";
5
+ import { P as TreeViewRootProps, T as TreeViewTreeProps, at as UseTreeViewReturn, it as UseTreeViewProps, k as TreeViewRootProviderProps } from "../../index-BoKwZUuR.mjs";
6
+ import * as react196 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: react196.ForwardRefExoticComponent<JsonTreeViewRootProps & react196.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: react196.ForwardRefExoticComponent<JsonTreeViewRootProviderProps & react196.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: react196.ForwardRefExoticComponent<JsonTreeViewTreeProps & react196.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-tPcuhsU6.mjs";
2
+ import "../../core-BrQa5x6H.mjs";
3
+ import { t as createContext$1 } from "../../create-context-aizX7yAt.mjs";
4
+ import "../../environment-Cnx9ZBbN.mjs";
5
+ import "../../locale-BheNIyu4.mjs";
6
+ import "../../providers-B1DbplwV.mjs";
7
+ import "../../factory-BwIiMV5g.mjs";
8
+ import "../../collapsible-DCBcxJA8.mjs";
9
+ import { t as createSplitProps } from "../../create-split-props-BHHQqbKs.mjs";
10
+ import "../../render-strategy-D2htg_Zz.mjs";
11
+ import "../../use-event-qKb6UUEI.mjs";
12
+ import { a as createTreeCollection } from "../../collection-XVYHjcEl.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-Br67rmuK.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 };