@wirekyt/solid 0.0.1 → 0.0.3

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 (207) hide show
  1. package/dist/accordion.d.ts +68 -0
  2. package/dist/accordion.js +168 -0
  3. package/dist/accordion.jsx +143 -0
  4. package/dist/angle-slider.d.ts +72 -0
  5. package/dist/angle-slider.js +141 -0
  6. package/dist/angle-slider.jsx +130 -0
  7. package/dist/avatar.d.ts +47 -0
  8. package/dist/avatar.js +86 -0
  9. package/dist/avatar.jsx +79 -0
  10. package/dist/carousel.d.ts +92 -0
  11. package/dist/carousel.js +189 -0
  12. package/dist/carousel.jsx +174 -0
  13. package/dist/checkbox.d.ts +140 -0
  14. package/dist/checkbox.js +252 -0
  15. package/dist/checkbox.jsx +234 -0
  16. package/dist/client-only.d.ts +9 -0
  17. package/dist/client-only.js +22 -0
  18. package/dist/client-only.jsx +13 -0
  19. package/dist/clipboard.d.ts +70 -0
  20. package/dist/clipboard.js +137 -0
  21. package/dist/clipboard.jsx +120 -0
  22. package/dist/collapsible-BwNoH1At.jsx +106 -0
  23. package/dist/collapsible-Dp8aqjtN.js +118 -0
  24. package/dist/collapsible.d.ts +58 -0
  25. package/dist/collapsible.js +2 -0
  26. package/dist/collapsible.jsx +2 -0
  27. package/dist/collection-By8qgqkx.js +213 -0
  28. package/dist/collection-Mkvw6TyT.jsx +213 -0
  29. package/dist/collection.d.ts +2 -0
  30. package/dist/collection.js +2 -0
  31. package/dist/collection.jsx +2 -0
  32. package/dist/color-picker.d.ts +179 -0
  33. package/dist/color-picker.js +457 -0
  34. package/dist/color-picker.jsx +395 -0
  35. package/dist/combobox.d.ts +128 -0
  36. package/dist/combobox.js +326 -0
  37. package/dist/combobox.jsx +284 -0
  38. package/dist/core-7QKBNp9p.js +485 -0
  39. package/dist/core-7QKBNp9p.jsx +485 -0
  40. package/dist/date-input.d.ts +68 -0
  41. package/dist/date-input.js +178 -0
  42. package/dist/date-input.jsx +163 -0
  43. package/dist/date-picker.d.ts +191 -0
  44. package/dist/date-picker.js +506 -0
  45. package/dist/date-picker.jsx +430 -0
  46. package/dist/dialog.d.ts +77 -0
  47. package/dist/dialog.js +205 -0
  48. package/dist/dialog.jsx +159 -0
  49. package/dist/download-trigger.d.ts +22 -0
  50. package/dist/download-trigger.js +55 -0
  51. package/dist/download-trigger.jsx +51 -0
  52. package/dist/drawer.d.ts +114 -0
  53. package/dist/drawer.js +291 -0
  54. package/dist/drawer.jsx +237 -0
  55. package/dist/editable.d.ts +77 -0
  56. package/dist/editable.js +171 -0
  57. package/dist/editable.jsx +162 -0
  58. package/dist/factory-D2A7xdtl.js +34 -0
  59. package/dist/factory-DRw_slzE.jsx +34 -0
  60. package/dist/factory-wuwfJqbU.d.ts +15 -0
  61. package/dist/field-CQr_Dibp.js +317 -0
  62. package/dist/field-R5jVNdtK.jsx +282 -0
  63. package/dist/field.d.ts +194 -0
  64. package/dist/field.js +2 -0
  65. package/dist/field.jsx +2 -0
  66. package/dist/fieldset-5shfE0Z5.jsx +155 -0
  67. package/dist/fieldset-D5teGLZ9.js +170 -0
  68. package/dist/fieldset.d.ts +98 -0
  69. package/dist/fieldset.js +2 -0
  70. package/dist/fieldset.jsx +2 -0
  71. package/dist/file-upload.d.ts +100 -0
  72. package/dist/file-upload.js +254 -0
  73. package/dist/file-upload.jsx +232 -0
  74. package/dist/floating-panel.d.ts +97 -0
  75. package/dist/floating-panel.js +231 -0
  76. package/dist/floating-panel.jsx +199 -0
  77. package/dist/focus-trap.d.ts +12 -0
  78. package/dist/focus-trap.js +30 -0
  79. package/dist/focus-trap.jsx +26 -0
  80. package/dist/format.d.ts +32 -0
  81. package/dist/format.js +50 -0
  82. package/dist/format.jsx +53 -0
  83. package/dist/frame.d.ts +12 -0
  84. package/dist/frame.js +119 -0
  85. package/dist/frame.jsx +83 -0
  86. package/dist/image-cropper.d.ts +62 -0
  87. package/dist/image-cropper.js +137 -0
  88. package/dist/image-cropper.jsx +130 -0
  89. package/dist/index-B17eqq14.d.ts +32 -0
  90. package/dist/index-BZHmHI7d.d.ts +142 -0
  91. package/dist/index-CANuc1X0.d.ts +81 -0
  92. package/dist/index-CJwZCGOS.d.ts +75 -0
  93. package/dist/index-ClU-Lb8Z.d.ts +23 -0
  94. package/dist/index-J9N2CBHP.d.ts +21 -0
  95. package/dist/index.d.ts +5 -0
  96. package/dist/index.js +5 -0
  97. package/dist/index.jsx +5 -0
  98. package/dist/json-tree-view.d.ts +50 -0
  99. package/dist/json-tree-view.js +330 -0
  100. package/dist/json-tree-view.jsx +201 -0
  101. package/dist/listbox.d.ts +109 -0
  102. package/dist/listbox.js +237 -0
  103. package/dist/listbox.jsx +212 -0
  104. package/dist/marquee.d.ts +57 -0
  105. package/dist/marquee.js +125 -0
  106. package/dist/marquee.jsx +113 -0
  107. package/dist/menu.d.ts +158 -0
  108. package/dist/menu.js +441 -0
  109. package/dist/menu.jsx +362 -0
  110. package/dist/navigation-menu.d.ts +88 -0
  111. package/dist/navigation-menu.js +289 -0
  112. package/dist/navigation-menu.jsx +228 -0
  113. package/dist/number-input.d.ts +72 -0
  114. package/dist/number-input.js +166 -0
  115. package/dist/number-input.jsx +157 -0
  116. package/dist/pagination.d.ts +67 -0
  117. package/dist/pagination.js +131 -0
  118. package/dist/pagination.jsx +124 -0
  119. package/dist/password-input.d.ts +64 -0
  120. package/dist/password-input.js +144 -0
  121. package/dist/password-input.jsx +125 -0
  122. package/dist/pin-input.d.ts +57 -0
  123. package/dist/pin-input.js +138 -0
  124. package/dist/pin-input.jsx +129 -0
  125. package/dist/popover.d.ts +92 -0
  126. package/dist/popover.js +206 -0
  127. package/dist/popover.jsx +174 -0
  128. package/dist/presence-9UGkuyfn.jsx +59 -0
  129. package/dist/presence-CE6lXCu5.js +72 -0
  130. package/dist/presence.d.ts +2 -0
  131. package/dist/presence.js +2 -0
  132. package/dist/presence.jsx +2 -0
  133. package/dist/progress.d.ts +77 -0
  134. package/dist/progress.js +146 -0
  135. package/dist/progress.jsx +137 -0
  136. package/dist/providers-B-Vi5wQ7.js +124 -0
  137. package/dist/providers-CqNHqLpB.jsx +110 -0
  138. package/dist/qr-code.d.ts +57 -0
  139. package/dist/qr-code.js +111 -0
  140. package/dist/qr-code.jsx +104 -0
  141. package/dist/radio-group.d.ts +77 -0
  142. package/dist/radio-group.js +170 -0
  143. package/dist/radio-group.jsx +157 -0
  144. package/dist/rating-group.d.ts +67 -0
  145. package/dist/rating-group.js +142 -0
  146. package/dist/rating-group.jsx +131 -0
  147. package/dist/rolldown-runtime-D7D4PA-g.js +13 -0
  148. package/dist/rolldown-runtime-D7D4PA-g.jsx +13 -0
  149. package/dist/run-if-fn-CjvD7VzQ.js +5 -0
  150. package/dist/run-if-fn-CjvD7VzQ.jsx +5 -0
  151. package/dist/scroll-area.d.ts +61 -0
  152. package/dist/scroll-area.js +119 -0
  153. package/dist/scroll-area.jsx +109 -0
  154. package/dist/segment-group.d.ts +80 -0
  155. package/dist/segment-group.js +166 -0
  156. package/dist/segment-group.jsx +153 -0
  157. package/dist/select.d.ts +132 -0
  158. package/dist/select.js +337 -0
  159. package/dist/select.jsx +283 -0
  160. package/dist/signature-pad.d.ts +67 -0
  161. package/dist/signature-pad.js +159 -0
  162. package/dist/signature-pad.jsx +141 -0
  163. package/dist/slider.d.ts +87 -0
  164. package/dist/slider.js +191 -0
  165. package/dist/slider.jsx +179 -0
  166. package/dist/splitter.d.ts +57 -0
  167. package/dist/splitter.js +126 -0
  168. package/dist/splitter.jsx +116 -0
  169. package/dist/steps.d.ts +100 -0
  170. package/dist/steps.js +199 -0
  171. package/dist/steps.jsx +184 -0
  172. package/dist/swap.d.ts +51 -0
  173. package/dist/swap.js +123 -0
  174. package/dist/swap.jsx +106 -0
  175. package/dist/switch.d.ts +57 -0
  176. package/dist/switch.js +125 -0
  177. package/dist/switch.jsx +116 -0
  178. package/dist/tabs.d.ts +58 -0
  179. package/dist/tabs.js +146 -0
  180. package/dist/tabs.jsx +122 -0
  181. package/dist/tags-input.d.ts +97 -0
  182. package/dist/tags-input.js +228 -0
  183. package/dist/tags-input.jsx +213 -0
  184. package/dist/timer.d.ts +62 -0
  185. package/dist/timer.js +119 -0
  186. package/dist/timer.jsx +110 -0
  187. package/dist/toast.d.ts +60 -0
  188. package/dist/toast.js +120 -0
  189. package/dist/toast.jsx +106 -0
  190. package/dist/toggle-group.d.ts +42 -0
  191. package/dist/toggle-group.js +87 -0
  192. package/dist/toggle-group.jsx +80 -0
  193. package/dist/toggle.d.ts +38 -0
  194. package/dist/toggle.js +73 -0
  195. package/dist/toggle.jsx +61 -0
  196. package/dist/tooltip.d.ts +67 -0
  197. package/dist/tooltip.js +159 -0
  198. package/dist/tooltip.jsx +127 -0
  199. package/dist/tour.d.ts +112 -0
  200. package/dist/tour.js +256 -0
  201. package/dist/tour.jsx +192 -0
  202. package/dist/tree-view-ATyeBPXq.js +290 -0
  203. package/dist/tree-view-CoWx7osT.jsx +265 -0
  204. package/dist/tree-view.d.ts +3 -0
  205. package/dist/tree-view.js +3 -0
  206. package/dist/tree-view.jsx +3 -0
  207. package/package.json +324 -6
@@ -0,0 +1,330 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
2
+ import { d as createContext$1, l as createSplitProps } from "./core-7QKBNp9p.js";
3
+ import { t as wire } from "./factory-D2A7xdtl.js";
4
+ import { a as createTreeCollection } from "./collection-By8qgqkx.js";
5
+ import { C as TreeViewBranch, S as TreeViewBranchContent, T as useTreeViewContext, a as TreeViewRoot, b as TreeViewBranchIndentGuide, h as TreeViewItem, i as TreeViewRootProvider, o as useTreeView, p as TreeViewItemText, r as TreeViewTree, s as TreeViewNodeProvider, v as TreeViewBranchText, x as TreeViewBranchControl, y as TreeViewBranchIndicator } from "./tree-view-ATyeBPXq.js";
6
+ import { For, Index, createMemo, splitProps } from "solid-js";
7
+ import { Dynamic, Index as Index$1, Show as Show$1, createComponent, memo, mergeProps as mergeProps$1, untrack as untrack$1 } from "solid-js/web";
8
+ import { getAccessibleDescription, getRootNode, jsonNodeToElement, keyPathToKey, nodeToString, nodeToValue } from "@wirekyt/dom/json-tree-utils";
9
+ //#region src/components/json-tree-view/get-branch-value.ts
10
+ function getBranchValues(tree, depth) {
11
+ let values = [];
12
+ tree.visit({ onEnter: (node, indexPath) => {
13
+ if (indexPath.length === 0) return;
14
+ if (tree.isBranchNode(node) && indexPath.length <= depth) values.push(tree.getNodeValue(node));
15
+ } });
16
+ return values;
17
+ }
18
+ //#endregion
19
+ //#region src/components/json-tree-view/props-context.ts
20
+ const [JsonTreeViewPropsProvider, useJsonTreeViewPropsContext] = createContext$1({
21
+ hookName: "useJsonTreeViewPropsContext",
22
+ providerName: "<JsonTreeViewPropsProvider />"
23
+ });
24
+ //#endregion
25
+ //#region src/components/json-tree-view/root.tsx
26
+ const splitJsonTreeViewProps$1 = createSplitProps();
27
+ const JsonTreeViewRoot = (props) => {
28
+ const [jsonTreeProps, localProps] = splitJsonTreeViewProps$1(props, [
29
+ "maxPreviewItems",
30
+ "collapseStringsAfterLength",
31
+ "quotesOnKeys",
32
+ "groupArraysAfterLength",
33
+ "showNonenumerable"
34
+ ]);
35
+ const [jsonProps, restProps] = splitProps(localProps, ["data", "defaultExpandedDepth"]);
36
+ const collection = createMemo(() => {
37
+ return createTreeCollection({
38
+ nodeToValue,
39
+ nodeToString,
40
+ rootNode: getRootNode(jsonProps.data)
41
+ });
42
+ });
43
+ const defaultExpandedValue = createMemo(() => {
44
+ return jsonProps.defaultExpandedDepth != null ? getBranchValues(collection(), jsonProps.defaultExpandedDepth) : void 0;
45
+ });
46
+ return createComponent(JsonTreeViewPropsProvider, {
47
+ value: jsonTreeProps,
48
+ get children() {
49
+ return createComponent(TreeViewRoot, mergeProps$1({
50
+ "data-scope": "json-tree-view",
51
+ get collection() {
52
+ return collection();
53
+ },
54
+ get defaultExpandedValue() {
55
+ return defaultExpandedValue();
56
+ }
57
+ }, restProps, { get children() {
58
+ return props.children;
59
+ } }));
60
+ }
61
+ });
62
+ };
63
+ //#endregion
64
+ //#region src/components/json-tree-view/root-provider.tsx
65
+ const JsonTreeViewRootProvider = (props) => {
66
+ const [localProps, restProps] = splitProps(props, ["value"]);
67
+ const treeView = createMemo(() => {
68
+ const { options: _, ...rest } = localProps.value();
69
+ return rest;
70
+ });
71
+ return createComponent(JsonTreeViewPropsProvider, {
72
+ get value() {
73
+ return localProps.value().options;
74
+ },
75
+ get children() {
76
+ return createComponent(TreeViewRootProvider, mergeProps$1({
77
+ "data-scope": "json-tree-view",
78
+ value: treeView
79
+ }, restProps));
80
+ }
81
+ });
82
+ };
83
+ //#endregion
84
+ //#region src/components/json-tree-view/key-node.tsx
85
+ const JsonTreeViewKeyNode = (props) => {
86
+ const key = createMemo(() => keyPathToKey(props.node.keyPath));
87
+ return [createComponent(wire.span, {
88
+ "data-kind": "key",
89
+ get ["data-non-enumerable"]() {
90
+ return props.node.isNonEnumerable ? "" : void 0;
91
+ },
92
+ get children() {
93
+ return memo(() => !!props.showQuotes)() ? `"${key()}"` : key();
94
+ }
95
+ }), createComponent(wire.span, {
96
+ "data-kind": "colon",
97
+ children: ": "
98
+ })];
99
+ };
100
+ //#endregion
101
+ //#region src/components/json-tree-view/value-node.tsx
102
+ const JsonTreeViewValueNode = (props) => {
103
+ if (props.node.type === "text") return memo(() => props.renderValue?.(props.node) ?? props.node.value);
104
+ return createComponent(Dynamic, {
105
+ get component() {
106
+ return props.node.tagName;
107
+ },
108
+ get ["data-root"]() {
109
+ return props.node.properties.root ? "" : void 0;
110
+ },
111
+ get ["data-type"]() {
112
+ return props.node.properties.nodeType;
113
+ },
114
+ get ["data-kind"]() {
115
+ return props.node.properties.kind;
116
+ },
117
+ get children() {
118
+ return createComponent(For, {
119
+ get each() {
120
+ return props.node.children;
121
+ },
122
+ children: (child) => createComponent(JsonTreeViewValueNode, {
123
+ node: child,
124
+ get renderValue() {
125
+ return props.renderValue;
126
+ }
127
+ })
128
+ });
129
+ }
130
+ });
131
+ };
132
+ //#endregion
133
+ //#region src/components/json-tree-view/node.tsx
134
+ const scopeProps = { "data-scope": "json-tree-view" };
135
+ function JsonTreeViewNode(props) {
136
+ const tree = useTreeViewContext();
137
+ const nodeState = createMemo(() => tree().getNodeState({
138
+ node: props.node,
139
+ indexPath: props.indexPath
140
+ }));
141
+ const options = useJsonTreeViewPropsContext();
142
+ const key = createMemo(() => keyPathToKey(props.node.keyPath, { excludeRoot: true }));
143
+ const valueNode = createMemo(() => jsonNodeToElement(props.node, options));
144
+ const nodeProps = createMemo(() => {
145
+ const desc = getAccessibleDescription(props.node);
146
+ const line = props.indexPath.reduce((acc, curr) => acc + curr, 1);
147
+ const lineLength = props.indexPath.length - 1;
148
+ return {
149
+ ...scopeProps,
150
+ "aria-label": desc,
151
+ "data-line": line,
152
+ style: { ["--line-length"]: lineLength }
153
+ };
154
+ });
155
+ return createComponent(TreeViewNodeProvider, {
156
+ get node() {
157
+ return props.node;
158
+ },
159
+ get indexPath() {
160
+ return props.indexPath;
161
+ },
162
+ get children() {
163
+ return createComponent(Show$1, {
164
+ get when() {
165
+ return nodeState().isBranch;
166
+ },
167
+ get fallback() {
168
+ return createComponent(TreeViewItem, mergeProps$1(nodeProps, { get children() {
169
+ return createComponent(TreeViewItemText, mergeProps$1(scopeProps, { get children() {
170
+ return [createComponent(Show$1, {
171
+ get when() {
172
+ return key();
173
+ },
174
+ get children() {
175
+ return createComponent(JsonTreeViewKeyNode, {
176
+ get node() {
177
+ return props.node;
178
+ },
179
+ get showQuotes() {
180
+ return options.quotesOnKeys;
181
+ }
182
+ });
183
+ }
184
+ }), createComponent(JsonTreeViewValueNode, {
185
+ get node() {
186
+ return valueNode();
187
+ },
188
+ get renderValue() {
189
+ return props.renderValue;
190
+ }
191
+ })];
192
+ } }));
193
+ } }));
194
+ },
195
+ get children() {
196
+ return createComponent(TreeViewBranch, mergeProps$1(scopeProps, { get children() {
197
+ return [createComponent(TreeViewBranchControl, mergeProps$1(nodeProps, { get children() {
198
+ return [createComponent(Show$1, {
199
+ get when() {
200
+ return props.arrow;
201
+ },
202
+ get children() {
203
+ return createComponent(TreeViewBranchIndicator, mergeProps$1(scopeProps, { get children() {
204
+ return props.arrow;
205
+ } }));
206
+ }
207
+ }), createComponent(TreeViewBranchText, mergeProps$1(scopeProps, { get children() {
208
+ return [createComponent(Show$1, {
209
+ get when() {
210
+ return key();
211
+ },
212
+ get children() {
213
+ return createComponent(JsonTreeViewKeyNode, {
214
+ get node() {
215
+ return props.node;
216
+ },
217
+ get showQuotes() {
218
+ return options.quotesOnKeys;
219
+ }
220
+ });
221
+ }
222
+ }), createComponent(JsonTreeViewValueNode, {
223
+ get node() {
224
+ return valueNode();
225
+ },
226
+ get renderValue() {
227
+ return props.renderValue;
228
+ }
229
+ })];
230
+ } }))];
231
+ } })), createComponent(TreeViewBranchContent, mergeProps$1(scopeProps, { get children() {
232
+ return [createComponent(Show$1, {
233
+ get when() {
234
+ return typeof props.indentGuide === "boolean";
235
+ },
236
+ get fallback() {
237
+ return props.indentGuide;
238
+ },
239
+ get children() {
240
+ return createComponent(TreeViewBranchIndentGuide, {});
241
+ }
242
+ }), createComponent(Index$1, {
243
+ get each() {
244
+ return props.node.children;
245
+ },
246
+ children: (child, index) => createComponent(JsonTreeViewNode, mergeProps$1(props, {
247
+ get node() {
248
+ return child();
249
+ },
250
+ get indexPath() {
251
+ return [...props.indexPath, index];
252
+ }
253
+ }))
254
+ })];
255
+ } }))];
256
+ } }));
257
+ }
258
+ });
259
+ }
260
+ });
261
+ }
262
+ //#endregion
263
+ //#region src/components/json-tree-view/tree.tsx
264
+ const splitTreeNodeProps = createSplitProps();
265
+ const JsonTreeViewTree = (props) => {
266
+ const [nodeProps, treeProps] = splitTreeNodeProps(props, [
267
+ "arrow",
268
+ "indentGuide",
269
+ "renderValue"
270
+ ]);
271
+ const tree = useTreeViewContext();
272
+ const children = () => tree().collection.getNodeChildren(tree().collection.rootNode);
273
+ return createComponent(TreeViewTree, mergeProps$1({ "data-scope": "json-tree-view" }, treeProps, { get children() {
274
+ return createComponent(Index, {
275
+ get each() {
276
+ return children();
277
+ },
278
+ children: (child, index) => createComponent(JsonTreeViewNode, mergeProps$1({
279
+ get node() {
280
+ return child();
281
+ },
282
+ indexPath: [index]
283
+ }, nodeProps))
284
+ });
285
+ } }));
286
+ };
287
+ //#endregion
288
+ //#region src/components/json-tree-view/use.ts
289
+ const splitJsonTreeViewProps = createSplitProps();
290
+ const useJsonTreeView = (props) => {
291
+ const [jsonTreeProps, localProps] = splitJsonTreeViewProps(props, [
292
+ "maxPreviewItems",
293
+ "collapseStringsAfterLength",
294
+ "quotesOnKeys",
295
+ "groupArraysAfterLength",
296
+ "showNonenumerable"
297
+ ]);
298
+ const [jsonProps, restProps] = splitProps(localProps, ["data", "defaultExpandedDepth"]);
299
+ const collection = createMemo(() => {
300
+ return createTreeCollection({
301
+ nodeToValue,
302
+ nodeToString,
303
+ rootNode: getRootNode(jsonProps.data)
304
+ });
305
+ });
306
+ const defaultExpandedValue = createMemo(() => {
307
+ return jsonProps.defaultExpandedDepth != null ? getBranchValues(collection(), jsonProps.defaultExpandedDepth) : void 0;
308
+ });
309
+ const treeView = useTreeView(createMemo(() => {
310
+ return {
311
+ defaultExpandedValue: untrack$1(defaultExpandedValue),
312
+ ...restProps,
313
+ collection: collection(),
314
+ typeahead: false
315
+ };
316
+ }));
317
+ return createMemo(() => ({
318
+ ...treeView(),
319
+ options: jsonTreeProps
320
+ }));
321
+ };
322
+ //#endregion
323
+ //#region src/components/json-tree-view/json-tree-view.tsx
324
+ var json_tree_view_exports = /* @__PURE__ */ __exportAll({
325
+ Root: () => JsonTreeViewRoot,
326
+ RootProvider: () => JsonTreeViewRootProvider,
327
+ Tree: () => JsonTreeViewTree
328
+ });
329
+ //#endregion
330
+ export { json_tree_view_exports as JsonTreeView, JsonTreeViewRoot, JsonTreeViewRootProvider, JsonTreeViewTree, useJsonTreeView };
@@ -0,0 +1,201 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.jsx";
2
+ import { d as createContext$1, l as createSplitProps } from "./core-7QKBNp9p.jsx";
3
+ import { t as wire } from "./factory-DRw_slzE.jsx";
4
+ import { a as createTreeCollection } from "./collection-Mkvw6TyT.jsx";
5
+ import { T as useTreeViewContext, o as useTreeView, t as tree_view_exports } from "./tree-view-CoWx7osT.jsx";
6
+ import { For, Index, createMemo, splitProps } from "solid-js";
7
+ import { Dynamic, Index as Index$1, Show as Show$1, untrack as untrack$1 } from "solid-js/web";
8
+ import { getAccessibleDescription, getRootNode, jsonNodeToElement, keyPathToKey, nodeToString, nodeToValue } from "@wirekyt/dom/json-tree-utils";
9
+ //#region src/components/json-tree-view/get-branch-value.ts
10
+ function getBranchValues(tree, depth) {
11
+ let values = [];
12
+ tree.visit({ onEnter: (node, indexPath) => {
13
+ if (indexPath.length === 0) return;
14
+ if (tree.isBranchNode(node) && indexPath.length <= depth) values.push(tree.getNodeValue(node));
15
+ } });
16
+ return values;
17
+ }
18
+ //#endregion
19
+ //#region src/components/json-tree-view/props-context.ts
20
+ const [JsonTreeViewPropsProvider, useJsonTreeViewPropsContext] = createContext$1({
21
+ hookName: "useJsonTreeViewPropsContext",
22
+ providerName: "<JsonTreeViewPropsProvider />"
23
+ });
24
+ //#endregion
25
+ //#region src/components/json-tree-view/root.tsx
26
+ const splitJsonTreeViewProps$1 = createSplitProps();
27
+ const JsonTreeViewRoot = (props) => {
28
+ const [jsonTreeProps, localProps] = splitJsonTreeViewProps$1(props, [
29
+ "maxPreviewItems",
30
+ "collapseStringsAfterLength",
31
+ "quotesOnKeys",
32
+ "groupArraysAfterLength",
33
+ "showNonenumerable"
34
+ ]);
35
+ const [jsonProps, restProps] = splitProps(localProps, ["data", "defaultExpandedDepth"]);
36
+ const collection = createMemo(() => {
37
+ return createTreeCollection({
38
+ nodeToValue,
39
+ nodeToString,
40
+ rootNode: getRootNode(jsonProps.data)
41
+ });
42
+ });
43
+ const defaultExpandedValue = createMemo(() => {
44
+ return jsonProps.defaultExpandedDepth != null ? getBranchValues(collection(), jsonProps.defaultExpandedDepth) : void 0;
45
+ });
46
+ return <JsonTreeViewPropsProvider value={jsonTreeProps}>
47
+ <tree_view_exports.Root data-scope="json-tree-view" collection={collection()} defaultExpandedValue={defaultExpandedValue()} {...restProps}>
48
+ {props.children}
49
+ </tree_view_exports.Root>
50
+ </JsonTreeViewPropsProvider>;
51
+ };
52
+ //#endregion
53
+ //#region src/components/json-tree-view/root-provider.tsx
54
+ const JsonTreeViewRootProvider = (props) => {
55
+ const [localProps, restProps] = splitProps(props, ["value"]);
56
+ const treeView = createMemo(() => {
57
+ const { options: _, ...rest } = localProps.value();
58
+ return rest;
59
+ });
60
+ return <JsonTreeViewPropsProvider value={localProps.value().options}>
61
+ <tree_view_exports.RootProvider data-scope="json-tree-view" value={treeView} {...restProps} />
62
+ </JsonTreeViewPropsProvider>;
63
+ };
64
+ //#endregion
65
+ //#region src/components/json-tree-view/key-node.tsx
66
+ const JsonTreeViewKeyNode = (props) => {
67
+ const key = createMemo(() => keyPathToKey(props.node.keyPath));
68
+ return <>
69
+ <wire.span data-kind="key" data-non-enumerable={props.node.isNonEnumerable ? "" : void 0}>
70
+ {props.showQuotes ? `"${key()}"` : key()}
71
+ </wire.span>
72
+ <wire.span data-kind="colon">: </wire.span>
73
+ </>;
74
+ };
75
+ //#endregion
76
+ //#region src/components/json-tree-view/value-node.tsx
77
+ const JsonTreeViewValueNode = (props) => {
78
+ if (props.node.type === "text") return <>{props.renderValue?.(props.node) ?? props.node.value}</>;
79
+ return <Dynamic component={props.node.tagName} data-root={props.node.properties.root ? "" : void 0} data-type={props.node.properties.nodeType} data-kind={props.node.properties.kind}>
80
+ <For each={props.node.children}>
81
+ {(child) => <JsonTreeViewValueNode node={child} renderValue={props.renderValue} />}
82
+ </For>
83
+ </Dynamic>;
84
+ };
85
+ //#endregion
86
+ //#region src/components/json-tree-view/node.tsx
87
+ const scopeProps = { "data-scope": "json-tree-view" };
88
+ function JsonTreeViewNode(props) {
89
+ const tree = useTreeViewContext();
90
+ const nodeState = createMemo(() => tree().getNodeState({
91
+ node: props.node,
92
+ indexPath: props.indexPath
93
+ }));
94
+ const options = useJsonTreeViewPropsContext();
95
+ const key = createMemo(() => keyPathToKey(props.node.keyPath, { excludeRoot: true }));
96
+ const valueNode = createMemo(() => jsonNodeToElement(props.node, options));
97
+ const nodeProps = createMemo(() => {
98
+ const desc = getAccessibleDescription(props.node);
99
+ const line = props.indexPath.reduce((acc, curr) => acc + curr, 1);
100
+ const lineLength = props.indexPath.length - 1;
101
+ return {
102
+ ...scopeProps,
103
+ "aria-label": desc,
104
+ "data-line": line,
105
+ style: { ["--line-length"]: lineLength }
106
+ };
107
+ });
108
+ return <tree_view_exports.NodeProvider node={props.node} indexPath={props.indexPath}>
109
+ <Show$1 when={nodeState().isBranch} fallback={<tree_view_exports.Item {...nodeProps()}>
110
+ <tree_view_exports.ItemText {...scopeProps}>
111
+ <Show$1 when={key()}>
112
+ <JsonTreeViewKeyNode node={props.node} showQuotes={options.quotesOnKeys} />
113
+ </Show$1>
114
+ <JsonTreeViewValueNode node={valueNode()} renderValue={props.renderValue} />
115
+ </tree_view_exports.ItemText>
116
+ </tree_view_exports.Item>}>
117
+ <tree_view_exports.Branch {...scopeProps}>
118
+ <tree_view_exports.BranchControl {...nodeProps()}>
119
+ <Show$1 when={props.arrow}>
120
+ <tree_view_exports.BranchIndicator {...scopeProps}>{props.arrow}</tree_view_exports.BranchIndicator>
121
+ </Show$1>
122
+ <tree_view_exports.BranchText {...scopeProps}>
123
+ <Show$1 when={key()}>
124
+ <JsonTreeViewKeyNode node={props.node} showQuotes={options.quotesOnKeys} />
125
+ </Show$1>
126
+ <JsonTreeViewValueNode node={valueNode()} renderValue={props.renderValue} />
127
+ </tree_view_exports.BranchText>
128
+ </tree_view_exports.BranchControl>
129
+ <tree_view_exports.BranchContent {...scopeProps}>
130
+ <Show$1 when={typeof props.indentGuide === "boolean"} fallback={props.indentGuide}>
131
+ <tree_view_exports.BranchIndentGuide />
132
+ </Show$1>
133
+ <Index$1 each={props.node.children}>
134
+ {(child, index) => <JsonTreeViewNode {...props} node={child()} indexPath={[...props.indexPath, index]} />}
135
+ </Index$1>
136
+ </tree_view_exports.BranchContent>
137
+ </tree_view_exports.Branch>
138
+ </Show$1>
139
+ </tree_view_exports.NodeProvider>;
140
+ }
141
+ //#endregion
142
+ //#region src/components/json-tree-view/tree.tsx
143
+ const splitTreeNodeProps = createSplitProps();
144
+ const JsonTreeViewTree = (props) => {
145
+ const [nodeProps, treeProps] = splitTreeNodeProps(props, [
146
+ "arrow",
147
+ "indentGuide",
148
+ "renderValue"
149
+ ]);
150
+ const tree = useTreeViewContext();
151
+ const children = () => tree().collection.getNodeChildren(tree().collection.rootNode);
152
+ return <tree_view_exports.Tree data-scope="json-tree-view" {...treeProps}>
153
+ <Index each={children()}>
154
+ {(child, index) => <JsonTreeViewNode node={child()} indexPath={[index]} {...nodeProps} />}
155
+ </Index>
156
+ </tree_view_exports.Tree>;
157
+ };
158
+ //#endregion
159
+ //#region src/components/json-tree-view/use.ts
160
+ const splitJsonTreeViewProps = createSplitProps();
161
+ const useJsonTreeView = (props) => {
162
+ const [jsonTreeProps, localProps] = splitJsonTreeViewProps(props, [
163
+ "maxPreviewItems",
164
+ "collapseStringsAfterLength",
165
+ "quotesOnKeys",
166
+ "groupArraysAfterLength",
167
+ "showNonenumerable"
168
+ ]);
169
+ const [jsonProps, restProps] = splitProps(localProps, ["data", "defaultExpandedDepth"]);
170
+ const collection = createMemo(() => {
171
+ return createTreeCollection({
172
+ nodeToValue,
173
+ nodeToString,
174
+ rootNode: getRootNode(jsonProps.data)
175
+ });
176
+ });
177
+ const defaultExpandedValue = createMemo(() => {
178
+ return jsonProps.defaultExpandedDepth != null ? getBranchValues(collection(), jsonProps.defaultExpandedDepth) : void 0;
179
+ });
180
+ const treeView = useTreeView(createMemo(() => {
181
+ return {
182
+ defaultExpandedValue: untrack$1(defaultExpandedValue),
183
+ ...restProps,
184
+ collection: collection(),
185
+ typeahead: false
186
+ };
187
+ }));
188
+ return createMemo(() => ({
189
+ ...treeView(),
190
+ options: jsonTreeProps
191
+ }));
192
+ };
193
+ //#endregion
194
+ //#region src/components/json-tree-view/json-tree-view.tsx
195
+ var json_tree_view_exports = /* @__PURE__ */ __exportAll({
196
+ Root: () => JsonTreeViewRoot,
197
+ RootProvider: () => JsonTreeViewRootProvider,
198
+ Tree: () => JsonTreeViewTree
199
+ });
200
+ //#endregion
201
+ export { json_tree_view_exports as JsonTreeView, JsonTreeViewRoot, JsonTreeViewRootProvider, JsonTreeViewTree, useJsonTreeView };
@@ -0,0 +1,109 @@
1
+ import { a as Optional, n as Assign, r as MaybeAccessor, s as PropTypes } from "./index-ClU-Lb8Z.js";
2
+ import { r as PolymorphicProps, t as HTMLProps } from "./factory-wuwfJqbU.js";
3
+ import { _ as CollectionItem, b as createListCollection, y as ListCollection } from "./index-CJwZCGOS.js";
4
+ import { Accessor, JSX } from "solid-js";
5
+ import * as listbox from "@wirekyt/dom/machines/listbox";
6
+ import { HighlightChangeDetails, HighlightChangeDetails as ListboxHighlightChangeDetails, InputProps, ItemProps, ItemState, ScrollToIndexDetails, ScrollToIndexDetails as ListboxScrollToIndexDetails, SelectionDetails, SelectionDetails as ListboxSelectionDetails, SelectionMode, SelectionMode as ListboxSelectionMode, ValueChangeDetails, ValueChangeDetails as ListboxValueChangeDetails } from "@wirekyt/dom/machines/listbox";
7
+ import { JSX as JSX$1 } from "solid-js/jsx-runtime";
8
+ //#region src/components/listbox/use.d.ts
9
+ interface UseListboxProps<T extends CollectionItem> extends Optional<Omit<listbox.Props<T>, "dir" | "getRootNode" | "collection">, "id"> {
10
+ collection: ListCollection<T>;
11
+ }
12
+ interface UseListboxReturn<T extends CollectionItem> extends Accessor<listbox.Api<PropTypes, T>> {}
13
+ declare const useListbox: <T extends CollectionItem>(props: MaybeAccessor<UseListboxProps<T>>) => UseListboxReturn<T>;
14
+ //#endregion
15
+ //#region src/components/listbox/use-context.d.ts
16
+ interface UseListboxContext<T extends CollectionItem> extends UseListboxReturn<T> {}
17
+ declare const ListboxProvider: import("solid-js").ContextProviderComponent<UseListboxContext<any>>, useListboxContext: () => UseListboxContext<any>;
18
+ //#endregion
19
+ //#region src/components/listbox/context.d.ts
20
+ interface ListboxContextProps<T extends CollectionItem> {
21
+ children: (context: UseListboxContext<T>) => JSX.Element;
22
+ }
23
+ declare function ListboxContext<T extends CollectionItem>(props: ListboxContextProps<T>): JSX.Element;
24
+ //#endregion
25
+ //#region src/components/listbox/content.d.ts
26
+ interface ListboxContentBaseProps extends PolymorphicProps<"div"> {}
27
+ interface ListboxContentProps extends HTMLProps<"div">, ListboxContentBaseProps {}
28
+ declare const ListboxContent: (props: ListboxContentProps) => import("solid-js").JSX.Element;
29
+ //#endregion
30
+ //#region src/components/listbox/empty.d.ts
31
+ interface ListboxEmptyBaseProps extends PolymorphicProps<"div"> {}
32
+ interface ListboxEmptyProps extends HTMLProps<"div">, ListboxEmptyBaseProps {}
33
+ declare const ListboxEmpty: (props: ListboxEmptyProps) => import("solid-js").JSX.Element;
34
+ //#endregion
35
+ //#region src/components/listbox/input.d.ts
36
+ interface ListboxInputBaseProps extends InputProps, PolymorphicProps<"input"> {}
37
+ interface ListboxInputProps extends HTMLProps<"input">, ListboxInputBaseProps {}
38
+ declare const ListboxInput: (props: ListboxInputProps) => import("solid-js").JSX.Element;
39
+ //#endregion
40
+ //#region src/components/listbox/item.d.ts
41
+ interface ListboxItemBaseProps extends ItemProps, PolymorphicProps<"div"> {}
42
+ interface ListboxItemProps extends HTMLProps<"div">, ListboxItemBaseProps {}
43
+ declare const ListboxItem: (props: ListboxItemProps) => import("solid-js").JSX.Element;
44
+ //#endregion
45
+ //#region src/components/listbox/use-item-context.d.ts
46
+ interface UseListboxItemContext extends ItemState {}
47
+ declare const ListboxItemProvider: import("solid-js").ContextProviderComponent<UseListboxItemContext>, useListboxItemContext: () => UseListboxItemContext;
48
+ //#endregion
49
+ //#region src/components/listbox/item-context.d.ts
50
+ interface ListboxItemContextProps {
51
+ children: (context: UseListboxItemContext) => JSX.Element;
52
+ }
53
+ declare function ListboxItemContext(props: ListboxItemContextProps): JSX.Element;
54
+ //#endregion
55
+ //#region src/components/listbox/item-group.d.ts
56
+ interface ListboxItemGroupBaseProps extends PolymorphicProps<"div"> {}
57
+ interface ListboxItemGroupProps extends HTMLProps<"div">, ListboxItemGroupBaseProps {}
58
+ declare const ListboxItemGroup: (props: ListboxItemGroupProps) => import("solid-js").JSX.Element;
59
+ //#endregion
60
+ //#region src/components/listbox/item-group-label.d.ts
61
+ interface ListboxItemGroupLabelBaseProps extends PolymorphicProps<"div"> {}
62
+ interface ListboxItemGroupLabelProps extends HTMLProps<"div">, ListboxItemGroupLabelBaseProps {}
63
+ declare const ListboxItemGroupLabel: (props: ListboxItemGroupLabelProps) => import("solid-js").JSX.Element;
64
+ //#endregion
65
+ //#region src/components/listbox/item-indicator.d.ts
66
+ interface ListboxItemIndicatorBaseProps extends PolymorphicProps<"div"> {}
67
+ interface ListboxItemIndicatorProps extends HTMLProps<"div">, ListboxItemIndicatorBaseProps {}
68
+ declare const ListboxItemIndicator: (props: ListboxItemIndicatorProps) => import("solid-js").JSX.Element;
69
+ //#endregion
70
+ //#region src/components/listbox/item-text.d.ts
71
+ interface ListboxItemTextBaseProps extends PolymorphicProps<"div"> {}
72
+ interface ListboxItemTextProps extends HTMLProps<"div">, ListboxItemTextBaseProps {}
73
+ declare const ListboxItemText: (props: ListboxItemTextProps) => import("solid-js").JSX.Element;
74
+ //#endregion
75
+ //#region src/components/listbox/label.d.ts
76
+ interface ListboxLabelBaseProps extends PolymorphicProps<"span"> {}
77
+ interface ListboxLabelProps extends HTMLProps<"span">, ListboxLabelBaseProps {}
78
+ declare const ListboxLabel: (props: ListboxLabelProps) => import("solid-js").JSX.Element;
79
+ //#endregion
80
+ //#region src/components/listbox/root.d.ts
81
+ interface ListboxRootBaseProps<T extends CollectionItem> extends UseListboxProps<T>, PolymorphicProps<"div"> {}
82
+ interface ListboxRootProps<T extends CollectionItem> extends Assign<HTMLProps<"div">, ListboxRootBaseProps<T>> {}
83
+ declare const ListboxRoot: <T extends CollectionItem>(props: ListboxRootProps<T>) => import("solid-js").JSX.Element;
84
+ type ListboxRootComponentProps<T extends CollectionItem = CollectionItem, P = {}> = Assign<ListboxRootProps<T>, P>;
85
+ type ListboxRootComponent<P = {}> = <T extends CollectionItem>(props: ListboxRootComponentProps<T, P>) => any;
86
+ //#endregion
87
+ //#region src/components/listbox/root-provider.d.ts
88
+ interface RootProviderProps<T extends CollectionItem> {
89
+ value: UseListboxReturn<T>;
90
+ }
91
+ interface ListboxRootProviderBaseProps<T extends CollectionItem> extends RootProviderProps<T>, PolymorphicProps<"div"> {}
92
+ interface ListboxRootProviderProps<T extends CollectionItem> extends HTMLProps<"div">, ListboxRootProviderBaseProps<T> {}
93
+ declare const ListboxRootProvider: <T extends CollectionItem>(props: ListboxRootProviderProps<T>) => JSX$1.Element;
94
+ type ListboxRootProviderComponent<P = {}> = <T extends CollectionItem>(props: Assign<ListboxRootProviderProps<T>, P>) => JSX$1.Element;
95
+ //#endregion
96
+ //#region src/components/listbox/value-text.d.ts
97
+ interface ListboxValueTextBaseProps extends PolymorphicProps<"span"> {
98
+ placeholder?: string;
99
+ }
100
+ interface ListboxValueTextProps extends HTMLProps<"span">, ListboxValueTextBaseProps {}
101
+ declare const ListboxValueText: (props: ListboxValueTextProps) => import("solid-js").JSX.Element;
102
+ //#endregion
103
+ //#region src/components/listbox/anatomy.d.ts
104
+ declare const listboxAnatomy: import("@wirekyt/dom/anatomy").AnatomyInstance<"input" | "label" | "root" | "item" | "itemText" | "itemGroup" | "content" | "valueText" | "itemIndicator" | "itemGroupLabel" | "empty">;
105
+ declare namespace listbox_d_exports {
106
+ export { ListboxContent as Content, ListboxContentBaseProps as ContentBaseProps, ListboxContentProps as ContentProps, ListboxContext as Context, ListboxContextProps as ContextProps, ListboxEmpty as Empty, ListboxEmptyBaseProps as EmptyBaseProps, ListboxEmptyProps as EmptyProps, HighlightChangeDetails, ListboxInput as Input, ListboxInputBaseProps as InputBaseProps, ListboxInputProps as InputProps, ListboxItem as Item, ListboxItemBaseProps as ItemBaseProps, ListboxItemContext as ItemContext, ListboxItemContextProps as ItemContextProps, ListboxItemGroup as ItemGroup, ListboxItemGroupBaseProps as ItemGroupBaseProps, ListboxItemGroupLabel as ItemGroupLabel, ListboxItemGroupLabelBaseProps as ItemGroupLabelBaseProps, ListboxItemGroupLabelProps as ItemGroupLabelProps, ListboxItemGroupProps as ItemGroupProps, ListboxItemIndicator as ItemIndicator, ListboxItemIndicatorBaseProps as ItemIndicatorBaseProps, ListboxItemIndicatorProps as ItemIndicatorProps, ListboxItemProps as ItemProps, ListboxItemText as ItemText, ListboxItemTextBaseProps as ItemTextBaseProps, ListboxItemTextProps as ItemTextProps, ListboxLabel as Label, ListboxLabelBaseProps as LabelBaseProps, ListboxLabelProps as LabelProps, ListboxRoot as Root, ListboxRootBaseProps as RootBaseProps, ListboxRootComponent as RootComponent, ListboxRootComponentProps as RootComponentProps, ListboxRootProps as RootProps, ListboxRootProvider as RootProvider, ListboxRootProviderBaseProps as RootProviderBaseProps, ListboxRootProviderComponent as RootProviderComponent, ListboxRootProviderProps as RootProviderProps, ScrollToIndexDetails, SelectionDetails, SelectionMode, ValueChangeDetails, ListboxValueText as ValueText, ListboxValueTextBaseProps as ValueTextBaseProps, ListboxValueTextProps as ValueTextProps };
107
+ }
108
+ //#endregion
109
+ export { type CollectionItem, type ListCollection, listbox_d_exports as Listbox, ListboxContent, type ListboxContentBaseProps, type ListboxContentProps, ListboxContext, type ListboxContextProps, ListboxEmpty, type ListboxEmptyBaseProps, type ListboxEmptyProps, type ListboxHighlightChangeDetails, ListboxInput, type ListboxInputBaseProps, type ListboxInputProps, ListboxItem, type ListboxItemBaseProps, ListboxItemContext, type ListboxItemContextProps, ListboxItemGroup, type ListboxItemGroupBaseProps, ListboxItemGroupLabel, type ListboxItemGroupLabelBaseProps, type ListboxItemGroupLabelProps, type ListboxItemGroupProps, ListboxItemIndicator, type ListboxItemIndicatorBaseProps, type ListboxItemIndicatorProps, type ListboxItemProps, ListboxItemText, type ListboxItemTextBaseProps, type ListboxItemTextProps, ListboxLabel, type ListboxLabelBaseProps, type ListboxLabelProps, ListboxRoot, type ListboxRootBaseProps, type ListboxRootComponent, type ListboxRootComponentProps, type ListboxRootProps, ListboxRootProvider, type ListboxRootProviderBaseProps, type ListboxRootProviderComponent, type ListboxRootProviderProps, type ListboxScrollToIndexDetails, type ListboxSelectionDetails, type ListboxSelectionMode, type ListboxValueChangeDetails, ListboxValueText, type ListboxValueTextBaseProps, type ListboxValueTextProps, type UseListboxContext, type UseListboxItemContext, type UseListboxProps, type UseListboxReturn, createListCollection, listboxAnatomy, useListbox, useListboxContext, useListboxItemContext };